aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Make BinOps typed and require a type specifier for !nameconcat. ThisDavid Greene2009-04-236-60/+210
| | | | | | | | allows binops to be used in typed contexts such as when passing arguments to classes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69921 91177308-0d34-0410-b5e6-96231b3b80d8
* Update comments.Evan Cheng2009-04-231-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69919 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix an obvious type.Evan Cheng2009-04-231-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69918 91177308-0d34-0410-b5e6-96231b3b80d8
* Explicitly pass -tailcallopt=false to these tests so that theyDan Gohman2009-04-233-3/+3
| | | | | | | | work as intended no matter what the default setting of that option is. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69911 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for 69795.Dale Johannesen2009-04-231-0/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69901 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix an error in this test.Dan Gohman2009-04-231-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69893 91177308-0d34-0410-b5e6-96231b3b80d8
* Change SCEVExpander's expandCodeFor to provide more flexibilityDan Gohman2009-04-234-19/+48
| | | | | | | | | | | | with the persistent insertion point, and change IndVars to make use of it. This fixes a bug where IndVars was holding on to a stale insertion point and forcing the SCEVExpander to continue to use it. This fixes PR4038. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69892 91177308-0d34-0410-b5e6-96231b3b80d8
* Banksel immediate constant will always immediately follow the GA/ES, so scan ↵Sanjiv Gupta2009-04-231-18/+20
| | | | | | an insn from beginnin to find out the banksel operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69883 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify trunc(extend(x)) in SCEVs, just for completeness. Also fix some oddNick Lewycky2009-04-232-4/+49
| | | | | | | whitespace in the same file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69870 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for PR3909.Owen Anderson2009-04-231-0/+30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69868 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for PR2639.Owen Anderson2009-04-231-0/+38
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69867 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for PR2537.Owen Anderson2009-04-231-0/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69866 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typo.Owen Anderson2009-04-231-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69865 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for PR3085.Owen Anderson2009-04-231-0/+1945
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69863 91177308-0d34-0410-b5e6-96231b3b80d8
* Add testcase from PR3086.Owen Anderson2009-04-231-0/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69862 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for printing MO_ExternalSymbol operands inDan Gohman2009-04-231-2/+4
| | | | | | | | memory operand tuples. This doesn't ever come up in normal code however. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69848 91177308-0d34-0410-b5e6-96231b3b80d8
* Add more ulimit limits, to catch more kinds of runaway behavior.Dan Gohman2009-04-231-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69847 91177308-0d34-0410-b5e6-96231b3b80d8
* Use the testcase from PR2791.Owen Anderson2009-04-231-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69846 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure both operands have binary instructions have the same type.Evan Cheng2009-04-222-12/+42
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69844 91177308-0d34-0410-b5e6-96231b3b80d8
* A few more places where the check of use_empty is needed.Evan Cheng2009-04-221-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69842 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid deferencing use_begin() if value does not have a use.Evan Cheng2009-04-222-0/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69836 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow defm to inherit from multiple multiclasses.David Greene2009-04-223-71/+112
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69832 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement !nameconcat to concatenate strings and look up the resultingDavid Greene2009-04-228-36/+192
| | | | | | | name in the symbol table, returning an object. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69822 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for PR2958.Duncan Sands2009-04-221-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69818 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix cut-n-pasto.Devang Patel2009-04-221-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69816 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement multiclass inheritance.David Greene2009-04-224-5/+211
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69810 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify trivial cast-of-cast SCEVs.Dan Gohman2009-04-221-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69809 91177308-0d34-0410-b5e6-96231b3b80d8
* SCEVExpander's InsertCastOfTo knows how to move existing castDan Gohman2009-04-222-0/+29
| | | | | | | | | | | | instructions in order to avoid inserting new ones. However, if the cast instruction is the SCEVExpander's InsertPt, this causes subsequently emitted instructions to be inserted near the cast, and not at the location of the original insert point. Fix this by adjusting the insert point in such cases. This fixes PR4009. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69808 91177308-0d34-0410-b5e6-96231b3b80d8
* Use BasicBlock::iterator instead of Instruction* for insert points,Dan Gohman2009-04-222-12/+13
| | | | | | | to better handle inserting instructions at the end of a block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69807 91177308-0d34-0410-b5e6-96231b3b80d8
* Make SCEVExpanders private methods private, instead of protected.Dan Gohman2009-04-221-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69806 91177308-0d34-0410-b5e6-96231b3b80d8
* Use CloneModule's ValueMap in more places, instead of lookingDan Gohman2009-04-223-27/+45
| | | | | | | up functions by name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69805 91177308-0d34-0410-b5e6-96231b3b80d8
* ISD::ADD_PARTS is gone; use ISD::SMUL_LOHI as an example instead.Dan Gohman2009-04-221-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69804 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the function begin label start after ther data pointer.Sanjiv Gupta2009-04-223-9/+12
| | | | | | | The address of data frame for function can be obtained by subtracting 2 from the function begin label. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69801 91177308-0d34-0410-b5e6-96231b3b80d8
* These tests are x86 specific.Duncan Sands2009-04-222-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69798 91177308-0d34-0410-b5e6-96231b3b80d8
* Real fix for PR3549, by using caching for predecessor counts in addition to ↵Owen Anderson2009-04-221-11/+13
| | | | | | | | | the predecessors themselves. This halves the time to optimize the testcase, beyond what my previous patch did. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69792 91177308-0d34-0410-b5e6-96231b3b80d8
* Add caching of predecessor counts as well as predecessors themselves.Owen Anderson2009-04-221-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69791 91177308-0d34-0410-b5e6-96231b3b80d8
* Use PredIteratorCache in LCSSA, which gives a 37% overall speedup on the ↵Owen Anderson2009-04-221-2/+5
| | | | | | testcase from PR3549. More improvements to come. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69788 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix for PR3946, in which SmallVector could behave strangely in corner cases.Owen Anderson2009-04-221-2/+2
| | | | | | | Patch by Peter Johnson. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69785 91177308-0d34-0410-b5e6-96231b3b80d8
* use predicate instead of hand-rolled loopChris Lattner2009-04-211-11/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69752 91177308-0d34-0410-b5e6-96231b3b80d8
* De-pImpl-ify ScalarEvolution. The pImpl pattern doesn't provide muchDan Gohman2009-04-212-459/+274
| | | | | | | | practical benefit in the case of ScalarEvolution, and it's otherwise a nuisance. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69749 91177308-0d34-0410-b5e6-96231b3b80d8
* It has finally happened. Spiller is now using live interval info.Evan Cheng2009-04-217-43/+96
| | | | | | | This fixes a very subtle bug. vr defined by an implicit_def is allowed overlap with any register since it doesn't actually modify anything. However, if it's used as a two-address use, its live range can be extended and it can be spilled. The spiller must take care not to emit a reload for the vn number that's defined by the implicit_def. This is both a correctness and performance issue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69743 91177308-0d34-0410-b5e6-96231b3b80d8
* When turning (ashr(shl(x, n), n)) into sext(trunc(x)), the width of theDan Gohman2009-04-212-1/+30
| | | | | | | | | type to truncate to should be the number of bits of the value that are preserved, not the number that are clobbered with sign-extension. This fixes regressions in ldecod. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69704 91177308-0d34-0410-b5e6-96231b3b80d8
* Support --with-llvmgccdir and friends in llvmc, take 2.Mikhail Glushenkov2009-04-214-9/+62
| | | | | | | | | Should now work when building with objdir != srcdir and when llvm-gcc is not available. Thanks to Duncan Sands for testing and advice! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69700 91177308-0d34-0410-b5e6-96231b3b80d8
* Test case for revision 69683.Devang Patel2009-04-211-0/+32
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69684 91177308-0d34-0410-b5e6-96231b3b80d8
* fix a crash on a pointless but valid zero-length memset, rdar://6808691Chris Lattner2009-04-212-13/+31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69680 91177308-0d34-0410-b5e6-96231b3b80d8
* Silence warnings.Anton Korobeynikov2009-04-211-5/+5
| | | | | | Patch by Jay Foad! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69679 91177308-0d34-0410-b5e6-96231b3b80d8
* Drop obsolete reference to __eprintf.Anton Korobeynikov2009-04-211-2/+0
| | | | | | Patch by Jay Foad! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69678 91177308-0d34-0410-b5e6-96231b3b80d8
* 'The "or die" is intended to catch the case where nm returned aAnton Korobeynikov2009-04-211-3/+4
| | | | | | | | | non-zero exit status, so nm will already have printed some error messages.' Patch by Jay Foad! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69677 91177308-0d34-0410-b5e6-96231b3b80d8
* Get rid of what looks like a copy-and-pasted typo.Duncan Sands2009-04-211-3/+3
| | | | | | | Spotted by gcc-4.5. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69673 91177308-0d34-0410-b5e6-96231b3b80d8
* TLS_addr64 and TLS_addr32 define RDI and EAX. They don't use them.Rafael Espindola2009-04-212-2/+2
| | | | | | | | This fixes PR4002. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69672 91177308-0d34-0410-b5e6-96231b3b80d8