aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix a warning.Chris Lattner2008-06-201-3/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52528 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix an error handling redefinition of linkonce functions where theChris Lattner2008-06-203-19/+23
| | | | | | | types differ. Patch by Nathan Keynes! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52527 91177308-0d34-0410-b5e6-96231b3b80d8
* fix a warning.Chris Lattner2008-06-201-4/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52526 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR2471, which is a bug involving an invalid promotion from a conditional ↵Chris Lattner2008-06-202-1/+23
| | | | | | load. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52525 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typo, fix suggested by Nicholas OlsenChris Lattner2008-06-201-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52524 91177308-0d34-0410-b5e6-96231b3b80d8
* Add C binding for ExecutionEngine::addGlobalMapping.Gordon Henriksen2008-06-202-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52523 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach ReturnInst lowering about aggregate return values.Dan Gohman2008-06-201-22/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52522 91177308-0d34-0410-b5e6-96231b3b80d8
* Change around the data structures used to store availability sets, resulting ↵Owen Anderson2008-06-201-26/+64
| | | | | | in a GVN+PRE that is faster that GVN alone was before. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52521 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach SCCP about insertvalue and extractvalue, and aboutDan Gohman2008-06-201-13/+107
| | | | | | | | propagating constants across aggregate return values when insertvalue and extractvalue are used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52520 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach InlineFunction how to differentiate between multiple-valueDan Gohman2008-06-201-2/+10
| | | | | | | | return statements and aggregate returns so that it handles both correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52519 91177308-0d34-0410-b5e6-96231b3b80d8
* Disable PRE for now. It seems to be breaking llvm-gcc bootstrapping.Evan Cheng2008-06-201-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52518 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the index calculations for the extractvalue lowering code.Dan Gohman2008-06-201-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52517 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify the ComputeLinearIndex logic and fix a few bugs.Dan Gohman2008-06-201-16/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52516 91177308-0d34-0410-b5e6-96231b3b80d8
* It's invalid to take the one-past-the-end address of a non-arrayDan Gohman2008-06-201-1/+2
| | | | | | | object. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52515 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify this code. Thanks Chris!Dan Gohman2008-06-201-3/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52514 91177308-0d34-0410-b5e6-96231b3b80d8
* ISD::UNDEF should be expanded recursively / iteratively.Evan Cheng2008-06-192-1/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52508 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a hidden -disable-pre flag for testing purposes. This should be removedOwen Anderson2008-06-191-2/+8
| | | | | | | once benchmarking is completed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52506 91177308-0d34-0410-b5e6-96231b3b80d8
* PRE requires that critical edges be split.Owen Anderson2008-06-191-0/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52505 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove dead code causing a warning.Bill Wendling2008-06-191-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52502 91177308-0d34-0410-b5e6-96231b3b80d8
* Use the common API for adding instructions to basic blocks instead ofDan Gohman2008-06-191-11/+6
| | | | | | | using BasicBlock::getInstList. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52500 91177308-0d34-0410-b5e6-96231b3b80d8
* Be sure to remove values from the value numbering table after we delete them.Owen Anderson2008-06-191-0/+1
| | | | | | | This fixes a failure on povray. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52499 91177308-0d34-0410-b5e6-96231b3b80d8
* Use Instruction::moveBefore instead of manipulating the instruction listDan Gohman2008-06-191-4/+2
| | | | | | | directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52498 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid using BasicBlock::getInstList directly in a few places.Dan Gohman2008-06-191-9/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52497 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert support for insertvalue and extractvalue instructions for the moment.Owen Anderson2008-06-191-63/+1
| | | | | | | | GVN expects that all inputs which to an instruction fall somewhere in the value hierarchy, which isn't true for these. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52496 91177308-0d34-0410-b5e6-96231b3b80d8
* Use the transferSuccessors helper function.Dan Gohman2008-06-191-5/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52495 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete dead code.Dan Gohman2008-06-191-4/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52494 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an idx_iterator to the insertvalue and extractvalue instructions.Owen Anderson2008-06-191-4/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52493 91177308-0d34-0410-b5e6-96231b3b80d8
* The inline keyword goes before the return type. This fixes a compiler warning.Dan Gohman2008-06-191-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52492 91177308-0d34-0410-b5e6-96231b3b80d8
* Modify some ipconstprop tests to also test with invokes.Matthijs Kooijman2008-06-192-2/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52491 91177308-0d34-0410-b5e6-96231b3b80d8
* Use a CallSite to find the nth argument of a call/invoke instruction instead ofMatthijs Kooijman2008-06-191-11/+11
| | | | | | | | using getOperand() directly. This makes things work with invoke instructions as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52489 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix some warnings reported by gcc-4.3. HopefullyDuncan Sands2008-06-192-8/+10
| | | | | | | this still compiles on windows - I can't test! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52488 91177308-0d34-0410-b5e6-96231b3b80d8
* Missed a check.Evan Cheng2008-06-191-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52487 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug with <8 x i16> shuffle lowering on X86 where parts of the Eli Friedman2008-06-192-2/+10
| | | | | | | | | | | | shuffle could be skipped. The check is invalid because the loop index i doesn't correspond to the element actually inserted. The correct check is already done a few lines earlier, for whether the element is already in the right spot, so this shouldn't have any effect on the codegen for code that was already correct. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52486 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert my last patch, which was causing regression test failures.Owen Anderson2008-06-191-78/+69
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52485 91177308-0d34-0410-b5e6-96231b3b80d8
* New test case.Evan Cheng2008-06-191-0/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52483 91177308-0d34-0410-b5e6-96231b3b80d8
* This also got better (55 - 51 instructions). But doing one more ↵Evan Cheng2008-06-191-1/+1
| | | | | | re-materialization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52482 91177308-0d34-0410-b5e6-96231b3b80d8
* This got better.Evan Cheng2008-06-191-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52481 91177308-0d34-0410-b5e6-96231b3b80d8
* Coalesce copy from one register class to a sub register class. e.g. ↵Evan Cheng2008-06-192-25/+98
| | | | | | X86::MOV16to16_. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52480 91177308-0d34-0410-b5e6-96231b3b80d8
* Cosmetic changes.Evan Cheng2008-06-191-3/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52479 91177308-0d34-0410-b5e6-96231b3b80d8
* Unneeded include's.Evan Cheng2008-06-192-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52478 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor spiller tweak to unfavor reload into load/store instructions.Evan Cheng2008-06-193-6/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52477 91177308-0d34-0410-b5e6-96231b3b80d8
* Insert empty slots into the instruction numbering in live intervals, so that ↵Owen Anderson2008-06-191-69/+78
| | | | | | | | | we can more easily add new instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52475 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove this test until the corresponding patch is reapplied because it's ↵Owen Anderson2008-06-181-39/+0
| | | | | | causing make check to crash for some people. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52473 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for extractvalue and insertvalue instructions in GVN.Owen Anderson2008-06-181-1/+63
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52472 91177308-0d34-0410-b5e6-96231b3b80d8
* Add local PRE to GVN. This only operates in cases where it would not ↵Owen Anderson2008-06-182-30/+186
| | | | | | | | | increase code size, namely when the instantiated expression would only need to be created in one predecessor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52471 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor the way to get a string containing the features of the target.Bill Wendling2008-06-183-32/+26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52470 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the source line debug information for the Windows platform.Argiris Kirtzidis2008-06-181-5/+88
| | | | | | | According to DWARF-2 specification, the line information is provided through an offset in the .debug_line section. Replace the label reference that is used with a section offset. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52468 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a missing comma spotted by Bram Geron.Dan Gohman2008-06-181-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52467 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the regressions on sext-misc.ll my patch yesterday caused.Chris Lattner2008-06-181-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52466 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r52459, which was causing an infinite loop or massive slowdown on ↵Owen Anderson2008-06-181-469/+369
| | | | | | | | | MultiSource/Applications/SPASS, and possibly others as well. Please reapply once this is fixed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52465 91177308-0d34-0410-b5e6-96231b3b80d8