summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* just initialize the first element, we don't need to set the rest to zeros.Chris Lattner2009-03-131-3/+3
| | | | llvm-svn: 66850
* Eliminate a 9640 byte static mutable initialized data item by moving itChris Lattner2009-03-131-2/+2
| | | | | | to the stack. This shrinks all llvm tools by 9k, and improves reentrancy. llvm-svn: 66847
* static functions don't need an anonymous namespace.Chris Lattner2009-03-121-373/+371
| | | | llvm-svn: 66845
* Fix a typo in a comment.Dan Gohman2009-03-121-1/+1
| | | | llvm-svn: 66843
* Previous debug info fix to this code wasn't quiteDale Johannesen2009-03-121-5/+4
| | | | | | | | right; did the wrong thing when there are exactly 11 non-debug instructions, followed by debug info. Remove a FIXME since it's apparently been fixed along the way. llvm-svn: 66840
* cosmetic change, in preparation of future changeGabor Greif2009-03-121-3/+3
| | | | llvm-svn: 66839
* Add this test back.Evan Cheng2009-03-121-0/+11
| | | | llvm-svn: 66838
* raw_ostream: unbuffered streams weren't being immediately flushed onDaniel Dunbar2009-03-121-0/+6
| | | | | | single character writes. llvm-svn: 66827
* Revert commit 66140 since it caused several failuresDuncan Sands2009-03-122-6/+1
| | | | | | | | | | | in the Ada testcase. Reverting this only covers up the real problem, which is a nasty conceptual difficulty in the phi elimination pass: when eliminating phi nodes in landing pads, the register copies need to come before the invoke, not at the end of the basic block which is too late... See PR3784. llvm-svn: 66826
* Darwin 10.4.x: "-rpath" is unnecessary when linking shared libraries.Scott Michel2009-03-121-19/+23
| | | | llvm-svn: 66825
* There already was a class to force deterministicDale Johannesen2009-03-121-23/+14
| | | | | | sorting of ConstantInt's; unreinvent wheel. llvm-svn: 66824
* Fix an inconsistent use of LLVMGCCDIR. In all other cases, this directoryBob Wilson2009-03-121-1/+1
| | | | | | | | refers to the "prefix" directory, i.e., one level above "bin". LLVMGCCPATH is used as the directory containing the llvm-gcc executable, so add a "/bin" suffix to get from LLVMGCCDIR to LLVMGCCPATH. llvm-svn: 66823
* Rearrange operands of the BranchInst, to be able toGabor Greif2009-03-126-51/+125
| | | | | | | | | | | | | | | | | | | | | | | | | access each with a fixed negative index from op_end(). This has two important implications: - getUser() will work faster, because there are less iterations for the waymarking algorithm to perform. This is important when running various analyses that want to determine callers of basic blocks. - getSuccessor() now runs faster, because the indirection via OperandList is not necessary: Uses corresponding to the successors are at fixed offset to "this". The price we pay is the slightly more complicated logic in the operator User::delete, as it has to pick up the information whether it has to free the memory of an original unconditional BranchInst or a BranchInst that was originally conditional, but has been shortened to unconditional. I was not able to come up with a nicer solution to this problem. (And rest assured, I tried *a lot*). Similar reorderings will follow for InvokeInst and CallInst. After that some optimizations to pred_iterator and CallSite will fall out naturally. llvm-svn: 66815
* Re-apply 66024 with fixes: 1. Fixed indirect call to immediate address ↵Evan Cheng2009-03-124-6/+16
| | | | | | assembly. 2. Fixed JIT encoding by making the address pc-relative. llvm-svn: 66803
* Another missing check for debug intrinsics.Dale Johannesen2009-03-121-1/+1
| | | | llvm-svn: 66800
* Fully initialize all ivars, fixing PR3790, patch by Edwin Torok!Chris Lattner2009-03-121-1/+1
| | | | llvm-svn: 66798
* Typo.Evan Cheng2009-03-121-1/+1
| | | | llvm-svn: 66797
* Fix test after Chris' select changes.Evan Cheng2009-03-121-3/+3
| | | | llvm-svn: 66795
* Adjust this test for recent sroa improvements.Duncan Sands2009-03-121-1/+1
| | | | llvm-svn: 66791
* add some text to explain sentinelsGabor Greif2009-03-121-0/+39
| | | | llvm-svn: 66790
* minor tweaksGabor Greif2009-03-121-11/+12
| | | | llvm-svn: 66788
* Reorganize some #include's.Owen Anderson2009-03-122-5/+4
| | | | llvm-svn: 66780
* Move 3 "(add (select cc, 0, c), x) -> (select cc, x, (add, x, c))"Chris Lattner2009-03-126-105/+213
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | related transformations out of target-specific dag combine into the ARM backend. These were added by Evan in r37685 with no testcases and only seems to help ARM (e.g. test/CodeGen/ARM/select_xform.ll). Add some simple X86-specific (for now) DAG combines that turn things like cond ? 8 : 0 -> (zext(cond) << 3). This happens frequently with the recently added cp constant select optimization, but is a very general xform. For example, we now compile the second example in const-select.ll to: _test: movsd LCPI2_0, %xmm0 ucomisd 8(%esp), %xmm0 seta %al movzbl %al, %eax movl 4(%esp), %ecx movsbl (%ecx,%eax,4), %eax ret instead of: _test: movl 4(%esp), %eax leal 4(%eax), %ecx movsd LCPI2_0, %xmm0 ucomisd 8(%esp), %xmm0 cmovbe %eax, %ecx movsbl (%ecx), %eax ret This passes multisource and dejagnu. llvm-svn: 66779
* improve comment.Chris Lattner2009-03-121-4/+4
| | | | llvm-svn: 66778
* Enable Chris' value propagation change. It make available known sign, zero, ↵Evan Cheng2009-03-121-3/+1
| | | | | | one bits information for values that are live out of basic blocks. The goal is to eliminate unnecessary sext, zext, truncate of values that are live-in to blocks. This does not handle PHI nodes yet. llvm-svn: 66777
* On x86, if the only use of a i64 load is a i64 store, generate a pair of ↵Evan Cheng2009-03-123-51/+83
| | | | | | double load and store instead. llvm-svn: 66776
* add no-unwind, remove duplicate run line.Chris Lattner2009-03-121-3/+2
| | | | llvm-svn: 66775
* add nounwindsChris Lattner2009-03-121-2/+2
| | | | llvm-svn: 66773
* Revert r66765 and r66766. These were causing build failures on Darwin.Bill Wendling2009-03-124-150/+39
| | | | llvm-svn: 66770
* Regenerate.Nick Lewycky2009-03-121-32/+121
| | | | llvm-svn: 66766
* Set ARCH to x86 on mixed 32/64-bit Linux systems.Nick Lewycky2009-03-123-7/+29
| | | | | | Remove the explicit if OS = Darwin test around the setting of -m32/-m64. llvm-svn: 66765
* Forgot to check-in this as part of 7761.Sanjiv Gupta2009-03-121-3/+2
| | | | llvm-svn: 66763
* Banksel optimization is now based on the section names of symbols, since the ↵Sanjiv Gupta2009-03-121-44/+52
| | | | | | symbols in one section will always be put into one bank. llvm-svn: 66761
* Allow for switch values bigger than 64 bits.Dale Johannesen2009-03-121-1/+1
| | | | llvm-svn: 66751
* Add StringMap::lookup.Daniel Dunbar2009-03-121-0/+21
| | | | llvm-svn: 66750
* Fix some nondeterministic behavior when forwardingDale Johannesen2009-03-121-3/+13
| | | | | | | | | from a switch table. Multiple table entries that branch to the same place were being sorted by the pointer value of the ConstantInt*; changed to sort by the actual value of the ConstantInt. llvm-svn: 66749
* Also pass -gcc-tool-args when building a shared object.Evan Cheng2009-03-121-2/+5
| | | | llvm-svn: 66746
* Revert r66024. The JIT encoding for CALLpcrel32 is wrong -- see PR3773, and theDan Gohman2009-03-114-18/+4
| | | | | | assembly text output uses an indirect call ("call *") instead of a direct call. llvm-svn: 66735
* updateGabor Greif2009-03-111-0/+1
| | | | llvm-svn: 66733
* optimize i8 and i16 tls values.Rafael Espindola2009-03-113-0/+38
| | | | llvm-svn: 66725
* Reorganization: Move the Spiller out of VirtRegMap.cpp into its own files. ↵Owen Anderson2009-03-116-1886/+1971
| | | | | | No (intended) functionality change. llvm-svn: 66720
* Add a -no-implicit-float flag. This acts like -soft-float, but may generateBill Wendling2009-03-113-76/+79
| | | | | | floating point instructions that are explicitly specified by the user. llvm-svn: 66719
* Skip interleaved debug info when fast-forwarding throughDale Johannesen2009-03-111-2/+2
| | | | | | | | allocations. Apparently the assumption is there is an instruction (terminator?) following the allocation so I am allowing the same assumption. llvm-svn: 66716
* My last coalescer fix introduced a subtler one. It's aborting a commuting ↵Evan Cheng2009-03-112-5/+96
| | | | | | optimization too late and left the live intervals to be out of sync with instructions. This fixes 8b10b. llvm-svn: 66715
* Debug intriniscs should be skipped when lookingDale Johannesen2009-03-111-1/+1
| | | | | | for a dependency, not terminate the search. llvm-svn: 66709
* Another bug :(Anton Korobeynikov2009-03-111-1/+1
| | | | llvm-svn: 66708
* Make Print callable from a pass's print method: add const qualifier. NoTorok Edwin2009-03-112-2/+2
| | | | | | functionality change. llvm-svn: 66700
* I should definitely read make docs someday :(Anton Korobeynikov2009-03-111-2/+3
| | | | llvm-svn: 66699
* do not pretend llvm/.../*.h being system headersGabor Greif2009-03-112-13/+13
| | | | llvm-svn: 66697
* Unbreak the build. Dunno, why it did not fail on mingw :(Anton Korobeynikov2009-03-112-2/+2
| | | | llvm-svn: 66692
OpenPOWER on IntegriCloud