Misha Brukman
b8561ebf21
Make header comment fit within 80 cols.
...
llvm-svn: 14198
2004-06-17 15:49:36 +00:00
Misha Brukman
a1237d00d6
Since the Great LLVM Tool Renaming(tm), we no longer have collisions between our
...
assembler/linker and the system equivalents.
llvm-svn: 14197
2004-06-17 15:39:58 +00:00
Brian Gaeke
661963c63f
Fix typo in DEBUG printout.
...
llvm-svn: 14196
2004-06-17 07:26:52 +00:00
Chris Lattner
6f4a596234
Fix a recent regression in Applications/sgefa that Alkis pointed out to me.
...
The vector may actually be empty if the register that we are marking as
recently used is not actually allocatable. This happens for physical registers
that are not allocatable, like the ST(x) registers on X86.
llvm-svn: 14195
2004-06-16 06:57:29 +00:00
Brian Gaeke
3b9474ecd7
Add int ferror(FILE *)
...
llvm-svn: 14194
2004-06-16 02:56:40 +00:00
Brian Gaeke
f6920d6f34
I'm afraid this doesn't exist.
...
llvm-svn: 14193
2004-06-16 00:26:45 +00:00
Brian Gaeke
20e09e5c7b
Um, did someone make a typo or something?
...
llvm-svn: 14192
2004-06-15 23:09:50 +00:00
Chris Lattner
fbf4dc3bd0
isnan is dead
...
llvm-svn: 14191
2004-06-15 21:52:58 +00:00
Chris Lattner
f64f794cad
llvm.isnan is dead, long live llvm.isunordered!
...
llvm-svn: 14190
2004-06-15 21:50:46 +00:00
Chris Lattner
7011d35594
Remove support for llvm.isnan. Alkis wins :)
...
llvm-svn: 14189
2004-06-15 21:48:07 +00:00
Chris Lattner
ee92bfca97
This testcase is a bit silly now, but oh well :)
...
llvm-svn: 14188
2004-06-15 21:46:16 +00:00
Chris Lattner
de2f567a20
Remove isnan support, correct isunordered support
...
llvm-svn: 14187
2004-06-15 21:42:23 +00:00
Chris Lattner
5a542aadc8
Remove support for the isnan intrinsic
...
llvm-svn: 14186
2004-06-15 21:37:54 +00:00
Chris Lattner
70dfc06e02
Add basic support for the isunordered intrinsic. The isnan stuff still needs to go
...
llvm-svn: 14185
2004-06-15 21:36:44 +00:00
Chris Lattner
75bcc59f1c
Right, stop being silly
...
llvm-svn: 14184
2004-06-15 21:29:40 +00:00
Chris Lattner
ce4ac095f0
Add a nan, stop testing isnan
...
llvm-svn: 14183
2004-06-15 21:29:01 +00:00
Brian Gaeke
476c73b241
Fix thinko in visitor... ShiftInsts should currently be delegated
...
to visitBinaryOperator.
llvm-svn: 14182
2004-06-15 21:09:46 +00:00
Chris Lattner
b1f0478f1d
Do not dereference end iterators. It's really bad for the asmwriter's health.
...
This possibly fixes PR370
llvm-svn: 14181
2004-06-15 21:07:32 +00:00
Brian Gaeke
675c0e9701
I think we'll use the standard lowering passes for now.
...
llvm-svn: 14179
2004-06-15 20:37:12 +00:00
Brian Gaeke
0c8ee30d53
Fix bug generating code for void call instructions: don't call
...
getReg() on void value.
llvm-svn: 14178
2004-06-15 20:06:32 +00:00
Brian Gaeke
065a6cb93a
Squash a warning from the Solaris assembler by aligning the stack
...
on a double-word boundary instead of a single-word boundary.
llvm-svn: 14177
2004-06-15 19:53:10 +00:00
Brian Gaeke
ad98a9b526
Allow special-casing of operand printing based on opcode. Print
...
non-register, non-immed. arguments to SETHI and OR using %hi() and
%lo() respectively.
llvm-svn: 14176
2004-06-15 19:52:59 +00:00
Brian Gaeke
19fbd28a06
Support constant GEP expressions.
...
Support copying long constants to register pairs.
Support copying ConstantPointerNulls and ConstantPointerRefs to registers.
llvm-svn: 14175
2004-06-15 19:16:07 +00:00
Misha Brukman
342693e35b
The correct prototype is `int atoi(CONST char*)'. Unbroke AIX build.
...
llvm-svn: 14173
2004-06-14 16:30:05 +00:00
Misha Brukman
bba0f0e492
Add file comment.
...
llvm-svn: 14172
2004-06-14 15:13:59 +00:00
Brian Gaeke
21370771ba
Quick hack to get this file compiling again on Mac OS X. The right thing to do
...
is write an autoconf macro that checks whether __isnan or isnan actually works
**using the C++ compiler after #include <cmath>**, instead of doing it the easy
way with AC_CHECK_FUNCS().
llvm-svn: 14171
2004-06-14 06:33:19 +00:00
Brian Gaeke
99c6539bce
Make -print-machineinstrs even stronger. You get to see the final code after
...
peepholing, and make it work the same way in the JIT as in LLC.
llvm-svn: 14170
2004-06-14 05:05:45 +00:00
Reid Spencer
d5a21b0575
Get rid of "might be uninitialized" warnings when compiling with GCC 3.3.2
...
llvm-svn: 14169
2004-06-13 19:17:49 +00:00
Alkis Evlogimenos
e395468ae5
Add constant folding capabilities to the isunordered intrinsic.
...
llvm-svn: 14168
2004-06-13 01:23:56 +00:00
Alkis Evlogimenos
0fa392310a
Really add the docs this time :-)
...
llvm-svn: 14167
2004-06-13 01:16:15 +00:00
Alkis Evlogimenos
cf9f8f1762
Make assertions more consistent with the rest of the intrinsic
...
function verification and make it a requirement that both arguments to
llvm.isunordered are of the same type.
llvm-svn: 14165
2004-06-13 00:55:26 +00:00
Alkis Evlogimenos
9d740629a0
Add the isunordered intrinsic.
...
llvm-svn: 14159
2004-06-12 19:19:14 +00:00
Reid Spencer
0a70ceb55f
Reduce the number of columns in the alpha index to 4 so that it fits
...
on a 1280x1024 screen!
llvm-svn: 14158
2004-06-12 14:46:02 +00:00
Chris Lattner
27f44fe1f8
It is no longer 2001
...
llvm-svn: 14157
2004-06-11 21:12:22 +00:00
Brian Gaeke
787ed2f377
Don't trim @PrevDays (causing an error) if it isn't long enough.
...
llvm-svn: 14156
2004-06-11 19:55:30 +00:00
Misha Brukman
fb35b09738
Fix grammar: 's is for possessive only.
...
llvm-svn: 14155
2004-06-11 16:50:21 +00:00
Reid Spencer
c0999e134e
Implement tracking of bytecode instruction size and the number of long
...
instructions generated.
llvm-svn: 14154
2004-06-11 15:10:38 +00:00
Reid Spencer
80ae844ea8
Add two options to the program:
...
-release causes ENABLE_OPTIMIZED=1 to be added to the make line so that
the test runs against optimized code.
-pedantic causes the CompileOptimizeOpts variable to be overridden to
add several additional warnings not picked up by -Wall. This
should help catch additional programming faux pas. See the diff
for the specific details.
llvm-svn: 14153
2004-06-11 07:06:22 +00:00
Chris Lattner
5888b5d4b1
Fix fallout from getOffsetOfLocalArea() being negated. Debugging dumps were being
...
printed incorrectly, and we were reserving 8 extra bytes of stack space for functions
on X86.
llvm-svn: 14152
2004-06-11 06:37:11 +00:00
Chris Lattner
66f313725c
llvm.isnan doesn't access memory
...
llvm-svn: 14151
2004-06-11 06:17:13 +00:00
Chris Lattner
ec941f7abb
Constant fold the isnan intrinsic
...
llvm-svn: 14150
2004-06-11 06:16:23 +00:00
Chris Lattner
b82f707e30
Add tests for isnan
...
llvm-svn: 14149
2004-06-11 06:16:13 +00:00
Chris Lattner
1c2be0e5a9
By far, one of the most common uses of isnan is to make 'isunordered'
...
comparisons. In an 'isunordered' predicate, which looks like this at
the LLVM level:
%a = call bool %llvm.isnan(double %X)
%b = call bool %llvm.isnan(double %Y)
%COM = or bool %a, %b
We used to generate this code:
fxch %ST(1)
fucomip %ST(0), %ST(0)
setp %AL
fucomip %ST(0), %ST(0)
setp %AH
or %AL, %AH
With this patch, we generate this code:
fucomip %ST(0), %ST(1)
fstp %ST(0)
setp %AL
Which should make alkis happy. Tested as X86/compare_folding.llx:test1
llvm-svn: 14148
2004-06-11 05:33:49 +00:00
Chris Lattner
858cb55a5c
Test that the X86 backend is only emitting one fucom instruction
...
for each 'COM =' line.
llvm-svn: 14147
2004-06-11 05:30:34 +00:00
Chris Lattner
71186e2fb6
Fix bug in previous checkin
...
llvm-svn: 14146
2004-06-11 05:22:44 +00:00
Chris Lattner
5ed9113e14
No really, these are dead now
...
llvm-svn: 14145
2004-06-11 04:50:14 +00:00
Chris Lattner
b35f47627d
Now that compare instructions aren't lumped in with the other twoargfp instructions,
...
we can get rid of the FpUCOM/FpUCOMi pseudo instructions, which makes stuff simpler
and faster.
llvm-svn: 14144
2004-06-11 04:49:02 +00:00
Chris Lattner
0876edf122
Introduce a new FP instruction type to separate the compare cases from the
...
twoarg cases.
llvm-svn: 14143
2004-06-11 04:41:24 +00:00
Chris Lattner
4e71aa84d5
Bug fixed, new feature
...
llvm-svn: 14142
2004-06-11 04:35:21 +00:00
Chris Lattner
26a964f88e
Add direct support for the isnan intrinsic, implementing test/Regression/CodeGen/X86/isnan.llx
...
testcase
llvm-svn: 14141
2004-06-11 04:31:10 +00:00