summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Partially address a README by having functionattrs consider calls toDuncan Sands2010-01-066-9/+60
| | | | | | | | | | | memcpy, memset and other intrinsics that only access their arguments to be readnone if the intrinsic's arguments all point to local memory. This improves the testcase in the README to readonly, but it could in theory be made readnone, however this would involve more sophisticated analysis that looks through the memcpy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92829 91177308-0d34-0410-b5e6-96231b3b80d8
* This is testing a darwin specific feature, so only turnDuncan Sands2010-01-061-0/+2
| | | | | | | it on for darwin (it fails on linux). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92826 91177308-0d34-0410-b5e6-96231b3b80d8
* tweaks suggested by DuncanChris Lattner2010-01-061-7/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92824 91177308-0d34-0410-b5e6-96231b3b80d8
* Reenable debug info on PPC. Works well enough toDale Johannesen2010-01-061-0/+1
| | | | | | | | bootstrap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92818 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure debug info hook gets called when emittingDale Johannesen2010-01-061-12/+11
| | | | | | | | synonyms for PPC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92817 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach instcombine's sext elimination logic to be more aggressive.Chris Lattner2010-01-063-39/+179
| | | | | | | | | | | | | | | Previously, instcombine would only promote an expression tree to the larger type if doing so eliminated two casts. This is because a need to manually do the sign extend after the promoted expression tree with two shifts. Now, we keep track of whether the result of the computation is going to be properly sign extended already. If so, we can unconditionally promote the expression, which allows us to zap more sext's. This implements rdar://6598839 (aka gcc pr38751) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92815 91177308-0d34-0410-b5e6-96231b3b80d8
* Add <imp-def> and <imp-kill> operands when replacing virtual sub-register ↵Jakob Stoklund Olesen2010-01-063-18/+52
| | | | | | | | | | | | | | defs and kills. An instruction like this: %reg1097:1<def> = VMOVSR %R3<kill>, 14, %reg0 Must be replaced with this when substituting physical registers: %S0<def> = VMOVSR %R3<kill>, 14, %reg0, %D0<imp-def> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92812 91177308-0d34-0410-b5e6-96231b3b80d8
* The previous code could potentially cause a cycle. Allow ordering w.r.t. a 0 ↵Bill Wendling2010-01-061-2/+2
| | | | | | order. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92810 91177308-0d34-0410-b5e6-96231b3b80d8
* Only check the ordering if there is an ordering for each nodes.Bill Wendling2010-01-061-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92807 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a semi-primitive form of scheduling via the "SDNode ordering" to theBill Wendling2010-01-051-0/+12
| | | | | | | bottom-up scheduler. We prefer the lower order number. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92806 91177308-0d34-0410-b5e6-96231b3b80d8
* simplify this code.Chris Lattner2010-01-051-109/+66
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92800 91177308-0d34-0410-b5e6-96231b3b80d8
* Move this test from test/Transforms/IndVarSimplify toDan Gohman2010-01-051-0/+0
| | | | | | | | test/CodeGen/X86, as doesn't use -indvars, and it does use llc -march=x86-64. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92799 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't assign the shift the same type as the variable being shifted. This couldBill Wendling2010-01-052-1/+18
| | | | | | | result in illegal types for the SHL operator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92797 91177308-0d34-0410-b5e6-96231b3b80d8
* Undo r92785, it caused test failure.Johnny Chen2010-01-051-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92796 91177308-0d34-0410-b5e6-96231b3b80d8
* make this a static function instead of a method.Chris Lattner2010-01-052-6/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92795 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't use the ISD::NodeType enum for SDNode opcodes, as CodeGenDan Gohman2010-01-053-25/+25
| | | | | | | | uses several kinds of opcode values which are not declared within that enum. This fixes PR5946. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92794 91177308-0d34-0410-b5e6-96231b3b80d8
* Re-add parsing of function-local metadata; this time with testcase.Victor Hernandez2010-01-053-21/+50
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92793 91177308-0d34-0410-b5e6-96231b3b80d8
* more rearrangement and cleanup, fix my test failure.Chris Lattner2010-01-052-122/+108
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92792 91177308-0d34-0410-b5e6-96231b3b80d8
* cleanupChris Lattner2010-01-051-18/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92790 91177308-0d34-0410-b5e6-96231b3b80d8
* remove two trunc xforms that are subsumed by EvaluateInDifferentType.Chris Lattner2010-01-052-36/+2
| | | | | | | | The only difference is that EvaluateInDifferentType checks to ensure they are profitable before doing them :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92788 91177308-0d34-0410-b5e6-96231b3b80d8
* merge some tests.Chris Lattner2010-01-055-49/+39
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92786 91177308-0d34-0410-b5e6-96231b3b80d8
* Add Rt2 to the asm format string for 32-bit Thumb load/store register dualJohnny Chen2010-01-051-3/+3
| | | | | | | instructions. Thumb does not have the restriction that t2 = t+1. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92785 91177308-0d34-0410-b5e6-96231b3b80d8
* merge cast2 into cast.llChris Lattner2010-01-052-37/+37
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92784 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow null to be an element of NamedMDNode. e.g. !llvm.stuff = !{!0, !1, null}Devang Patel2010-01-056-12/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92783 91177308-0d34-0410-b5e6-96231b3b80d8
* remove useless test.Chris Lattner2010-01-051-35/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92782 91177308-0d34-0410-b5e6-96231b3b80d8
* another example.Chris Lattner2010-01-051-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92781 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't specify CR sub-registers as implicit defs of BL instructions.Jakob Stoklund Olesen2010-01-051-6/+2
| | | | | | | It is enough to give the super registers CR0, CR1, ..., and specifying the sub-registers as well causes confusion in the liveness computations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92778 91177308-0d34-0410-b5e6-96231b3b80d8
* remove a useless negative test, add a rdar # to an xfail that I'm working on.Chris Lattner2010-01-052-46/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92777 91177308-0d34-0410-b5e6-96231b3b80d8
* clean up tests.Chris Lattner2010-01-053-28/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92776 91177308-0d34-0410-b5e6-96231b3b80d8
* just remove this xform which is subsumed by others.Chris Lattner2010-01-052-28/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92775 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix comment for CheckDebugInfoIntrinsicsVictor Hernandez2010-01-051-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92774 91177308-0d34-0410-b5e6-96231b3b80d8
* move a trunc-specific transform out of commonIntCastTransforms into visitTrunc.Chris Lattner2010-01-051-32/+34
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92773 91177308-0d34-0410-b5e6-96231b3b80d8
* Restore dump() methods to Loop and MachineLoop.Dan Gohman2010-01-054-1/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92772 91177308-0d34-0410-b5e6-96231b3b80d8
* Move remaining stuff to the isInteger predicate.Benjamin Kramer2010-01-0514-40/+31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92771 91177308-0d34-0410-b5e6-96231b3b80d8
* move a zext specific xform out of commonIntCastTransforms into visitZExt and ↵Chris Lattner2010-01-051-10/+9
| | | | | | modernize it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92770 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove livein checks from machine code verifier.Jakob Stoklund Olesen2010-01-051-99/+13
| | | | | | | | | | | A phi operand that is implicitly defined in a predecessor becomes an undefined register after phi elimination. This causes a lot of false positives when the verifier is checking if live-in registers are live-out from all predecessors. Removing the verifier checks seems like a better solution than insisting on IMPLICIT_DEF instructions in predecessor blocks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92769 91177308-0d34-0410-b5e6-96231b3b80d8
* move a trunc-specific xform out of commonIntCastTransforms into visitTruncChris Lattner2010-01-051-16/+25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92768 91177308-0d34-0410-b5e6-96231b3b80d8
* reduce indentationChris Lattner2010-01-051-15/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92766 91177308-0d34-0410-b5e6-96231b3b80d8
* RegenerateAnton Korobeynikov2010-01-051-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92763 91177308-0d34-0410-b5e6-96231b3b80d8
* Proper deduce z/System LLVM target from target triple whenAnton Korobeynikov2010-01-051-1/+1
| | | | | | --enable-targets=host is specified. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92762 91177308-0d34-0410-b5e6-96231b3b80d8
* NamedMDNode is a collection MDNodes.Devang Patel2010-01-056-23/+25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92761 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert a ton of simple integer type equality tests to the new predicate.Benjamin Kramer2010-01-0517-39/+36
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92760 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new predicate for integer type equality tests.Benjamin Kramer2010-01-052-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92759 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an !eq() operator to TableGen. It operates on strings only.David Greene2010-01-057-2/+37
| | | | | | | Use !cast<string>() to compare other types of objects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92754 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an entry on SmallBitVector.Dan Gohman2010-01-051-1/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92747 91177308-0d34-0410-b5e6-96231b3b80d8
* optimize comparisons against cttz/ctlz/ctpop, patch by Alastair Lynn!Chris Lattner2010-01-052-5/+49
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92745 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete useless trailing semicolons.Dan Gohman2010-01-0557-102/+102
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92740 91177308-0d34-0410-b5e6-96231b3b80d8
* Nick Lewycky pointed out that this code makes changes unconditionally.Dan Gohman2010-01-051-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92739 91177308-0d34-0410-b5e6-96231b3b80d8
* Have TableGen emit code that uses dbgs() rather than errs().David Greene2010-01-051-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92738 91177308-0d34-0410-b5e6-96231b3b80d8
* If a scope has only one instruction then first instruction is also the last ↵Devang Patel2010-01-052-1/+19
| | | | | | instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92736 91177308-0d34-0410-b5e6-96231b3b80d8