summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* 80 column and whitespace cleanupJim Grosbach2010-01-064-95/+108
| | | | llvm-svn: 92837
* Fix a README item: have functionattrs look through selects andDuncan Sands2010-01-062-40/+42
| | | | | | | | | phi nodes when deciding which pointers point to local memory. I actually checked long ago how useful this is, and it isn't very: it hardly ever fires in the testsuite, but since Chris wants it here it is! llvm-svn: 92836
* Formatting.Mikhail Glushenkov2010-01-061-2/+2
| | | | llvm-svn: 92831
* Fixed malformed -*- lines in PBQP headers.Lang Hames2010-01-069-9/+9
| | | | llvm-svn: 92830
* Partially address a README by having functionattrs consider calls toDuncan Sands2010-01-063-6/+24
| | | | | | | | | | 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. llvm-svn: 92829
* tweaks suggested by DuncanChris Lattner2010-01-061-7/+7
| | | | llvm-svn: 92824
* Reenable debug info on PPC. Works well enough toDale Johannesen2010-01-061-0/+1
| | | | | | bootstrap. llvm-svn: 92818
* Make sure debug info hook gets called when emittingDale Johannesen2010-01-061-12/+11
| | | | | | synonyms for PPC. llvm-svn: 92817
* Teach instcombine's sext elimination logic to be more aggressive.Chris Lattner2010-01-061-18/+168
| | | | | | | | | | | | | | 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) llvm-svn: 92815
* Add <imp-def> and <imp-kill> operands when replacing virtual sub-register ↵Jakob Stoklund Olesen2010-01-062-17/+46
| | | | | | | | | | | | | | 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> llvm-svn: 92812
* The previous code could potentially cause a cycle. Allow ordering w.r.t. a 0 ↵Bill Wendling2010-01-061-2/+2
| | | | | | order. llvm-svn: 92810
* Only check the ordering if there is an ordering for each nodes.Bill Wendling2010-01-061-2/+2
| | | | llvm-svn: 92807
* 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. llvm-svn: 92806
* simplify this code.Chris Lattner2010-01-051-109/+66
| | | | llvm-svn: 92800
* Don't assign the shift the same type as the variable being shifted. This couldBill Wendling2010-01-051-1/+3
| | | | | | result in illegal types for the SHL operator. llvm-svn: 92797
* Undo r92785, it caused test failure.Johnny Chen2010-01-051-3/+3
| | | | llvm-svn: 92796
* make this a static function instead of a method.Chris Lattner2010-01-052-6/+5
| | | | llvm-svn: 92795
* Don't use the ISD::NodeType enum for SDNode opcodes, as CodeGenDan Gohman2010-01-051-12/+12
| | | | | | | uses several kinds of opcode values which are not declared within that enum. This fixes PR5946. llvm-svn: 92794
* Re-add parsing of function-local metadata; this time with testcase.Victor Hernandez2010-01-052-21/+28
| | | | llvm-svn: 92793
* more rearrangement and cleanup, fix my test failure.Chris Lattner2010-01-051-118/+104
| | | | llvm-svn: 92792
* cleanupChris Lattner2010-01-051-18/+15
| | | | llvm-svn: 92790
* remove two trunc xforms that are subsumed by EvaluateInDifferentType.Chris Lattner2010-01-051-36/+0
| | | | | | | The only difference is that EvaluateInDifferentType checks to ensure they are profitable before doing them :) llvm-svn: 92788
* 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. llvm-svn: 92785
* Allow null to be an element of NamedMDNode. e.g. !llvm.stuff = !{!0, !1, null}Devang Patel2010-01-055-11/+21
| | | | llvm-svn: 92783
* 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. llvm-svn: 92778
* just remove this xform which is subsumed by others.Chris Lattner2010-01-051-26/+1
| | | | llvm-svn: 92775
* Fix comment for CheckDebugInfoIntrinsicsVictor Hernandez2010-01-051-2/+3
| | | | llvm-svn: 92774
* move a trunc-specific transform out of commonIntCastTransforms into visitTrunc.Chris Lattner2010-01-051-32/+34
| | | | llvm-svn: 92773
* Restore dump() methods to Loop and MachineLoop.Dan Gohman2010-01-052-0/+10
| | | | llvm-svn: 92772
* Move remaining stuff to the isInteger predicate.Benjamin Kramer2010-01-0514-40/+31
| | | | llvm-svn: 92771
* move a zext specific xform out of commonIntCastTransforms into visitZExt and ↵Chris Lattner2010-01-051-10/+9
| | | | | | modernize it. llvm-svn: 92770
* 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. llvm-svn: 92769
* move a trunc-specific xform out of commonIntCastTransforms into visitTruncChris Lattner2010-01-051-16/+25
| | | | llvm-svn: 92768
* reduce indentationChris Lattner2010-01-051-15/+18
| | | | llvm-svn: 92766
* NamedMDNode is a collection MDNodes.Devang Patel2010-01-053-16/+15
| | | | llvm-svn: 92761
* Convert a ton of simple integer type equality tests to the new predicate.Benjamin Kramer2010-01-0517-39/+36
| | | | llvm-svn: 92760
* Add a new predicate for integer type equality tests.Benjamin Kramer2010-01-051-0/+5
| | | | llvm-svn: 92759
* optimize comparisons against cttz/ctlz/ctpop, patch by Alastair Lynn!Chris Lattner2010-01-051-1/+23
| | | | llvm-svn: 92745
* Nick Lewycky pointed out that this code makes changes unconditionally.Dan Gohman2010-01-051-1/+2
| | | | llvm-svn: 92739
* If a scope has only one instruction then first instruction is also the last ↵Devang Patel2010-01-051-1/+1
| | | | | | instruction. llvm-svn: 92736
* Set Changed properly after calling DeleteDeadPHIs.Dan Gohman2010-01-052-2/+2
| | | | llvm-svn: 92735
* Use do+while instead of while for loops which obviously have aDan Gohman2010-01-0512-29/+23
| | | | | | non-zero trip count. Use SmallVector's pop_back_val(). llvm-svn: 92734
* Fix indentation.Dan Gohman2010-01-051-1/+1
| | | | llvm-svn: 92733
* Make RecursivelyDeleteTriviallyDeadInstructions,Dan Gohman2010-01-052-9/+17
| | | | | | | RecursivelyDeleteDeadPHINode, and DeleteDeadPHIs return a flag indicating whether they made any changes. llvm-svn: 92732
* Add newline at EOF.Benjamin Kramer2010-01-051-1/+1
| | | | llvm-svn: 92727
* Avoid going through the LLVMContext for type equality where it's safe to ↵Benjamin Kramer2010-01-0525-58/+46
| | | | | | dereference the type pointer. llvm-svn: 92726
* prune some #includes.Chris Lattner2010-01-051-8/+1
| | | | llvm-svn: 92712
* split and/or/xor out into one overly-large (2000LOC) file. However, I thinkChris Lattner2010-01-053-1963/+1978
| | | | | | it does make sense to keep them together, at least for now. llvm-svn: 92711
* missed file with previous commit.Chris Lattner2010-01-051-418/+0
| | | | llvm-svn: 92710
* split instcombine of shifts out to its own file.Chris Lattner2010-01-052-0/+437
| | | | llvm-svn: 92709
OpenPOWER on IntegriCloud