Chris Lattner
d46c148cf8
Match things like 'armv5tejl-unknown-linux-gnu' for PR2290
...
llvm-svn: 50698
2008-05-06 02:29:28 +00:00
Dan Gohman
d4a670284c
Make several variable declarations static.
...
llvm-svn: 50696
2008-05-06 01:53:16 +00:00
Dan Gohman
a84b75df17
Remove uses of llvm/System/IncludeFile.h that are no longer needed.
...
llvm-svn: 50695
2008-05-06 01:32:53 +00:00
Dan Gohman
0ad61a718c
Instead of enumerating each opcode that isn't handled that
...
ComputeMaskedBits handles, just use a 'default:'. This avoids
TargetLowering's list getting out of date with SelectionDAG's.
llvm-svn: 50693
2008-05-06 00:53:29 +00:00
Dan Gohman
faf9df7227
Correct the value of LowBits in srem and urem handling in
...
ComputeMaskedBits.
llvm-svn: 50692
2008-05-06 00:51:48 +00:00
Dan Gohman
f7f3f7ab8f
Fix a broken doxygen comment, and reword it for clarity.
...
llvm-svn: 50687
2008-05-06 00:20:10 +00:00
Chris Lattner
9f4f2444ea
add a micro optzn.
...
llvm-svn: 50681
2008-05-05 23:19:45 +00:00
Mon P Wang
34b3f18a70
Improved generated code for atomic operators
...
llvm-svn: 50677
2008-05-05 22:56:23 +00:00
Evan Cheng
44d49e72a1
Code clean up. No functionality change.
...
llvm-svn: 50675
2008-05-05 22:12:23 +00:00
Bill Wendling
5234187c50
Fix: Some classes were derived from a class in an anonymous namespace, but they
...
themselves weren't in the anonymous namespace.
llvm-svn: 50673
2008-05-05 21:37:59 +00:00
Chris Lattner
50d16c2939
Fix a crash when threading a block that includes a MRV call result.
...
DemoteRegToStack doesn't work with MRVs yet, because it relies on the
ability to load/store things.
This fixes PR2285.
llvm-svn: 50667
2008-05-05 20:21:22 +00:00
Mon P Wang
84a269e023
Added addition atomic instrinsics and, or, xor, min, and max.
...
llvm-svn: 50663
2008-05-05 19:05:59 +00:00
Dan Gohman
4a674dc536
Fix IsLinux being uninitialized on non-Linux targets.
...
llvm-svn: 50660
2008-05-05 18:43:07 +00:00
Evan Cheng
d9353009b7
Fix more -Wshorten-64-to-32 warnings.
...
llvm-svn: 50659
2008-05-05 18:30:58 +00:00
Anton Korobeynikov
12c48230f9
Fix 80col violation
...
llvm-svn: 50654
2008-05-05 17:08:59 +00:00
Dan Gohman
3dfc43343b
Fix a bug in the ELF writer that caused it to produce malformed
...
ELF headers. The ELF writer still isn't generally usable though.
llvm-svn: 50652
2008-05-05 16:48:32 +00:00
Dan Gohman
8ee7bf053e
Use a dedicated IsLinux flag instead of an ELFLinux TargetType.
...
llvm-svn: 50649
2008-05-05 16:11:31 +00:00
Dan Gohman
c860d9c77c
Add AsmPrinter support for emitting a directive to declare that
...
the code being generated does not require an executable stack.
Also, add target-specific code to make use of this on Linux
on x86.
llvm-svn: 50634
2008-05-05 00:28:39 +00:00
Anton Korobeynikov
04c974b1b2
Add General Dynamic TLS model for X86-64. Some parts looks really ugly (look for tlsaddr pattern),
...
but should work. Work is in progress, more models will follow
llvm-svn: 50630
2008-05-04 21:36:32 +00:00
Chris Lattner
57a81e6804
regenerate
...
llvm-svn: 50621
2008-05-04 17:18:47 +00:00
Gordon Henriksen
6f33fd36ab
Use (void) instead of () in C code.
...
llvm-svn: 50620
2008-05-04 12:55:34 +00:00
Evan Cheng
a7747df955
Select vector shift with non-immediate i32 shift amount operand by first moving the operand into the right register.
...
llvm-svn: 50619
2008-05-04 09:15:50 +00:00
Torok Edwin
a68816f876
processStore may delete the instruction, avoid
...
using dyn_cast<> on already freed memory.
llvm-svn: 50618
2008-05-04 08:51:25 +00:00
Torok Edwin
d016bb2685
Implement destructor for PostDominatorTree to eliminate a memory leak.
...
llvm-svn: 50607
2008-05-03 20:25:26 +00:00
Devang Patel
e8518dd7ff
Handle multiple return values.
...
llvm-svn: 50604
2008-05-03 01:12:15 +00:00
Evan Cheng
c1c2adbfc6
Add separate intrinsics for MMX / SSE shifts with i32 integer operands. This allow us to simplify the horribly complicated matching code.
...
llvm-svn: 50601
2008-05-03 00:52:09 +00:00
Devang Patel
b3112b4417
Do not sink getresult.
...
llvm-svn: 50600
2008-05-03 00:36:30 +00:00
Devang Patel
4b2359feec
Add assert.
...
llvm-svn: 50596
2008-05-02 22:13:33 +00:00
Dan Gohman
27156711ef
Fix a mistake in the computation of leading zeros for udiv.
...
llvm-svn: 50591
2008-05-02 21:30:02 +00:00
Evan Cheng
c2d34f03bf
Suppress -Wshorten-64-to-32 warnings for 64-bit hosts.
...
llvm-svn: 50590
2008-05-02 21:15:08 +00:00
Chris Lattner
96467cc665
strength reduce exp2 into ldexp, rdar://5852514
...
llvm-svn: 50586
2008-05-02 18:43:35 +00:00
Chris Lattner
e45796cb56
add a FIXME so we remember to eventually remove this code.
...
llvm-svn: 50582
2008-05-02 17:18:31 +00:00
Evan Cheng
90b9027f68
Undo r50574. We are already ensuring the folded load address is 16-byte aligned.
...
llvm-svn: 50578
2008-05-02 17:01:01 +00:00
Evan Cheng
583a346ec6
80 column violation.
...
llvm-svn: 50575
2008-05-02 07:53:32 +00:00
Evan Cheng
862e3a147c
Not safe folding a load + FsXORPSrr into FsXORPSrm. It's loading a FR64 value but the load folding variant expects a 16-byte aligned address.
...
llvm-svn: 50574
2008-05-02 07:50:58 +00:00
Bill Wendling
277f2a205d
Porting r50563 from Tak to mainline.
...
llvm-svn: 50564
2008-05-02 00:43:20 +00:00
Dan Gohman
4de7fe7ddc
Fix a typo in a comment.
...
llvm-svn: 50562
2008-05-02 00:05:03 +00:00
Dan Gohman
a55bbcacce
Use push_back(...) instead of resize(1, ...), per review feedback.
...
llvm-svn: 50561
2008-05-02 00:03:54 +00:00
Dan Gohman
148b1904fe
Fix uninitialized uses of the FPC variable.
...
llvm-svn: 50558
2008-05-01 23:40:44 +00:00
Dale Johannesen
d758175889
Don't try to create PHIs of struct types. Fallout
...
from x86-64 calling convention work.
llvm-svn: 50545
2008-05-01 22:27:44 +00:00
Dan Gohman
793c9fed45
Fix an overaggressive SimplifyDemandedBits optimization on urem. This
...
fixes the 254.gap regression on x86 and the 403.gcc regression on x86-64.
llvm-svn: 50537
2008-05-01 19:13:24 +00:00
Chris Lattner
e9bbe8e6b6
don't randomly miscompile seto/setuo just because we are in
...
ffastmath mode. This fixes rdar://5902801, a miscompilation
of gcc.dg/builtins-8.c.
Bill, please pull this into Tak.
llvm-svn: 50523
2008-05-01 07:26:11 +00:00
Chris Lattner
ab0c73a95c
1) add '-debug' output
...
2) Return NULL instead of false in several places for tidiness.
3) fix a bug optimizing sprintf(p, "%c", x)
llvm-svn: 50521
2008-05-01 06:39:12 +00:00
Chris Lattner
be2bafbe92
Delete the IPO simplify-libcalls and completely reimplement it as
...
a FunctionPass. This makes it simpler, fixes dozens of bugs, adds
a couple of minor features, and shrinks is considerably: from
2214 to 1437 lines.
llvm-svn: 50520
2008-05-01 06:25:24 +00:00
Chris Lattner
757d7d318a
fix a bug in my previous patch, a classic =/== bug.
...
llvm-svn: 50483
2008-04-30 15:27:09 +00:00
Arnold Schwaighofer
f58a35e2ec
Tail call optimization improvements:
...
Move platform independent code (lowering of possibly overwritten
arguments, check for tail call optimization eligibility) from
target X86ISelectionLowering.cpp to TargetLowering.h and
SelectionDAGISel.cpp.
Initial PowerPC tail call implementation:
Support ppc32 implemented and tested (passes my tests and
test-suite llvm-test).
Support ppc64 implemented and half tested (passes my tests).
On ppc tail call optimization is performed if
caller and callee are fastcc
call is a tail call (in tail call position, call followed by ret)
no variable argument lists or byval arguments
option -tailcallopt is enabled
Supported:
* non pic tail calls on linux/darwin
* module-local tail calls on linux(PIC/GOT)/darwin(PIC)
* inter-module tail calls on darwin(PIC)
If constraints are not met a normal call will be emitted.
A test checking the argument lowering behaviour on x86-64 was added.
llvm-svn: 50477
2008-04-30 09:16:33 +00:00
Gabor Greif
134707f8e8
fcntl.h is pretty standard on unix (without the sys/)
...
llvm-svn: 50475
2008-04-30 08:53:22 +00:00
Owen Anderson
aaa86b3249
This condition got inverted accidentally.
...
llvm-svn: 50473
2008-04-30 07:16:33 +00:00
Chris Lattner
15195e00ee
move lowering of llvm.memset -> store from simplify libcalls
...
to instcombine.
llvm-svn: 50472
2008-04-30 06:39:11 +00:00
Chris Lattner
710d05695f
add a method for comparing to see if a value has a specified name.
...
llvm-svn: 50465
2008-04-30 03:55:40 +00:00