summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Instead of enumerating each opcode that isn't handled thatDan Gohman2008-05-061-11/+1
| | | | | | | ComputeMaskedBits handles, just use a 'default:'. This avoids TargetLowering's list getting out of date with SelectionDAG's. llvm-svn: 50693
* Correct the value of LowBits in srem and urem handling inDan Gohman2008-05-062-9/+9
| | | | | | ComputeMaskedBits. llvm-svn: 50692
* Fix a broken doxygen comment, and reword it for clarity.Dan Gohman2008-05-061-2/+3
| | | | llvm-svn: 50687
* add a micro optzn.Chris Lattner2008-05-051-0/+18
| | | | llvm-svn: 50681
* Improved generated code for atomic operatorsMon P Wang2008-05-051-16/+16
| | | | llvm-svn: 50677
* Code clean up. No functionality change.Evan Cheng2008-05-051-20/+21
| | | | llvm-svn: 50675
* Fix: Some classes were derived from a class in an anonymous namespace, but theyBill Wendling2008-05-051-0/+2
| | | | | | themselves weren't in the anonymous namespace. llvm-svn: 50673
* Fix a crash when threading a block that includes a MRV call result.Chris Lattner2008-05-051-4/+19
| | | | | | | | | DemoteRegToStack doesn't work with MRVs yet, because it relies on the ability to load/store things. This fixes PR2285. llvm-svn: 50667
* Added addition atomic instrinsics and, or, xor, min, and max.Mon P Wang2008-05-0510-47/+421
| | | | llvm-svn: 50663
* Fix IsLinux being uninitialized on non-Linux targets.Dan Gohman2008-05-051-0/+1
| | | | llvm-svn: 50660
* Fix more -Wshorten-64-to-32 warnings.Evan Cheng2008-05-0512-48/+52
| | | | llvm-svn: 50659
* Fix 80col violationAnton Korobeynikov2008-05-051-1/+1
| | | | llvm-svn: 50654
* Fix a bug in the ELF writer that caused it to produce malformedDan Gohman2008-05-051-1/+1
| | | | | | ELF headers. The ELF writer still isn't generally usable though. llvm-svn: 50652
* Use a dedicated IsLinux flag instead of an ELFLinux TargetType.Dan Gohman2008-05-053-10/+15
| | | | llvm-svn: 50649
* Add AsmPrinter support for emitting a directive to declare thatDan Gohman2008-05-055-2/+25
| | | | | | | | | 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
* Add General Dynamic TLS model for X86-64. Some parts looks really ugly (look ↵Anton Korobeynikov2008-05-044-16/+62
| | | | | | | | for tlsaddr pattern), but should work. Work is in progress, more models will follow llvm-svn: 50630
* regenerateChris Lattner2008-05-042-1466/+1432
| | | | llvm-svn: 50621
* Use (void) instead of () in C code.Gordon Henriksen2008-05-041-14/+14
| | | | llvm-svn: 50620
* Select vector shift with non-immediate i32 shift amount operand by first ↵Evan Cheng2008-05-041-1/+90
| | | | | | moving the operand into the right register. llvm-svn: 50619
* processStore may delete the instruction, avoidTorok Edwin2008-05-041-2/+1
| | | | | | using dyn_cast<> on already freed memory. llvm-svn: 50618
* Implement destructor for PostDominatorTree to eliminate a memory leak.Torok Edwin2008-05-031-0/+5
| | | | llvm-svn: 50607
* Handle multiple return values.Devang Patel2008-05-031-1/+23
| | | | llvm-svn: 50604
* Add separate intrinsics for MMX / SSE shifts with i32 integer operands. This ↵Evan Cheng2008-05-033-73/+45
| | | | | | allow us to simplify the horribly complicated matching code. llvm-svn: 50601
* Do not sink getresult.Devang Patel2008-05-031-1/+3
| | | | llvm-svn: 50600
* Add assert.Devang Patel2008-05-021-0/+1
| | | | llvm-svn: 50596
* Fix a mistake in the computation of leading zeros for udiv.Dan Gohman2008-05-022-6/+10
| | | | llvm-svn: 50591
* Suppress -Wshorten-64-to-32 warnings for 64-bit hosts.Evan Cheng2008-05-022-43/+46
| | | | llvm-svn: 50590
* strength reduce exp2 into ldexp, rdar://5852514Chris Lattner2008-05-021-1/+52
| | | | llvm-svn: 50586
* add a FIXME so we remember to eventually remove this code.Chris Lattner2008-05-021-5/+6
| | | | llvm-svn: 50582
* Undo r50574. We are already ensuring the folded load address is 16-byte aligned.Evan Cheng2008-05-021-0/+8
| | | | llvm-svn: 50578
* 80 column violation.Evan Cheng2008-05-021-6/+12
| | | | llvm-svn: 50575
* Not safe folding a load + FsXORPSrr into FsXORPSrm. It's loading a FR64 ↵Evan Cheng2008-05-021-8/+0
| | | | | | value but the load folding variant expects a 16-byte aligned address. llvm-svn: 50574
* Porting r50563 from Tak to mainline.Bill Wendling2008-05-021-0/+5
| | | | llvm-svn: 50564
* Fix a typo in a comment.Dan Gohman2008-05-021-1/+1
| | | | llvm-svn: 50562
* Use push_back(...) instead of resize(1, ...), per review feedback.Dan Gohman2008-05-021-2/+2
| | | | llvm-svn: 50561
* Fix uninitialized uses of the FPC variable.Dan Gohman2008-05-011-2/+2
| | | | llvm-svn: 50558
* Don't try to create PHIs of struct types. FalloutDale Johannesen2008-05-011-8/+31
| | | | | | from x86-64 calling convention work. llvm-svn: 50545
* Fix an overaggressive SimplifyDemandedBits optimization on urem. ThisDan Gohman2008-05-011-4/+5
| | | | | | fixes the 254.gap regression on x86 and the 403.gcc regression on x86-64. llvm-svn: 50537
* don't randomly miscompile seto/setuo just because we are in Chris Lattner2008-05-011-4/+4
| | | | | | | | | ffastmath mode. This fixes rdar://5902801, a miscompilation of gcc.dg/builtins-8.c. Bill, please pull this into Tak. llvm-svn: 50523
* 1) add '-debug' outputChris Lattner2008-05-011-11/+19
| | | | | | | 2) Return NULL instead of false in several places for tidiness. 3) fix a bug optimizing sprintf(p, "%c", x) llvm-svn: 50521
* Delete the IPO simplify-libcalls and completely reimplement it asChris Lattner2008-05-012-2214/+1437
| | | | | | | | 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
* fix a bug in my previous patch, a classic =/== bug.Chris Lattner2008-04-301-1/+1
| | | | llvm-svn: 50483
* Tail call optimization improvements:Arnold Schwaighofer2008-04-3012-294/+919
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* fcntl.h is pretty standard on unix (without the sys/)Gabor Greif2008-04-301-2/+1
| | | | llvm-svn: 50475
* This condition got inverted accidentally.Owen Anderson2008-04-301-1/+1
| | | | llvm-svn: 50473
* move lowering of llvm.memset -> store from simplify libcalls Chris Lattner2008-04-301-7/+49
| | | | | | to instcombine. llvm-svn: 50472
* add a method for comparing to see if a value has a specified name.Chris Lattner2008-04-301-0/+7
| | | | llvm-svn: 50465
* use string length computation to generalize several xforms.Chris Lattner2008-04-301-36/+39
| | | | llvm-svn: 50464
* Add comments for previous patch as requested.Dale Johannesen2008-04-301-0/+6
| | | | llvm-svn: 50463
* Bug fixes and updates for CellSPU, syncing up with trunk. Most notableScott Michel2008-04-307-53/+133
| | | | | | | | fixes are target-specific lowering of frame indices, fix constants generated for the FSMBI instruction, and fixing SPUTargetLowering::computeMaskedBitsFor- TargetNode(). llvm-svn: 50462
OpenPOWER on IntegriCloud