aboutsummaryrefslogtreecommitdiffstats
path: root/test/Transforms
Commit message (Expand)AuthorAgeFilesLines
* Revert r127459, "Optimize trivial branches in CodeGenPrepare, which often getDaniel Dunbar2011-03-111-2/+1
* ComputeMaskedBits: sub falls through to add, and sub doesn't have the same ov...Benjamin Kramer2011-03-111-0/+10
* InstCombine: Fix a thinko where transform an icmp under the assumption that i...Benjamin Kramer2011-03-111-0/+10
* Teach ComputeMaskedBits about nsw on add. I don't think there's anything we canNick Lewycky2011-03-111-0/+10
* Optimize trivial branches in CodeGenPrepare, which often get created from theCameron Zwarich2011-03-111-1/+2
* Fix reassociate to postpone certain instruction deletions untilDan Gohman2011-03-101-0/+25
* InstCombine: Turn umul_with_overflow into mul nuw if we can prove that it can...Benjamin Kramer2011-03-101-0/+27
* Fix mistyped CHECK lines.Benjamin Kramer2011-03-093-3/+3
* Preserve line number information while simplifying libcalls.Devang Patel2011-03-091-0/+24
* Add a test case for r127320.Cameron Zwarich2011-03-091-0/+14
* Add another micro-optimization. Apologies for the lack of refactoring, but INick Lewycky2011-03-091-0/+8
* Add support to scalar replacement for partial vector accesses of an alloca, e.g.Cameron Zwarich2011-03-091-0/+59
* PR9346: Prevent SimplifyDemandedBits from incorrectly introducingEli Friedman2011-03-091-0/+12
* PR9420; an instruction before an unreachable is guaranteed not to have anyEli Friedman2011-03-091-0/+31
* Fix PR9331. Simplified version of a patch by Jakub Staszak.Duncan Sands2011-03-081-0/+50
* While sinking an instruction, do not lose llvm.dbg.value intrinsic.Devang Patel2011-03-081-0/+62
* Preserve line no. info.Devang Patel2011-03-071-0/+49
* Add test for r127138.Rafael Espindola2011-03-071-0/+16
* Tweak this test. We can analyze what happens and show that we still do theNick Lewycky2011-03-071-2/+2
* Add more analysis of the sign bit of an srem instruction. If the LHS is negativeNick Lewycky2011-03-071-0/+19
* ConstantInt has some getters which return ConstantInt's or ConstantVector's ofNick Lewycky2011-03-061-0/+10
* Thread comparisons over udiv/sdiv/ashr/lshr exact and lshr nuw/nsw wheneverNick Lewycky2011-03-052-0/+55
* Try once again to optimize "icmp (srem X, Y), Y" by turning the comparison intoNick Lewycky2011-03-051-0/+16
* Revert broken srem logic from r126991.Nick Lewycky2011-03-041-9/+0
* Fold "icmp pred (srem X, Y), Y" like we do for urem. Handle signed comparisonsNick Lewycky2011-03-042-2/+29
* Teach instruction simplify to use constant ranges to solve problems of the formNick Lewycky2011-03-041-4/+76
* Optimize fprintf -> iprintf if there are no floating point argumentsRichard Osborne2011-03-031-0/+21
* Optimize sprintf -> siprintf if there are no floating point argumentsRichard Osborne2011-03-031-0/+21
* Optimize printf -> iprintf if there are no floating point argumentsRichard Osborne2011-03-031-0/+29
* Make InstCombiner::FoldAndOfICmps create a ConstantRange that's theAnders Carlsson2011-03-011-0/+9
* Optimize "icmp pred (urem X, Y), Y" --> true/false depending on pred. There'sNick Lewycky2011-03-011-0/+16
* Add an obvious missing safety check to DAE::RemoveDeadArgumentsFromCallers.Eli Friedman2011-03-011-0/+13
* Delete obsolete test.Dan Gohman2011-02-281-46/+0
* Teach SimplifyCFG that (switch (select cond, X, Y)) is better expressed as a ...Frits van Bommel2011-02-281-0/+138
* srem doesn't actually have the same resulting sign as its numerator, you couldNick Lewycky2011-02-281-15/+5
* Teach InstCombine to fold "(shr exact X, Y) == 0" --> X == 0, fixing #1 fromNick Lewycky2011-02-281-0/+17
* The sign of an srem instruction is the sign of its dividend (the firstNick Lewycky2011-02-281-0/+10
* Revert "SimplifyCFG: GEPs with just one non-constant index are also cheap."Benjamin Kramer2011-02-251-1/+1
* SimplifyCFG: GEPs with just one non-constant index are also cheap.Benjamin Kramer2011-02-241-2/+22
* SimplifyCFG: GEPs with constant indices are cheap enough to be executed uncon...Benjamin Kramer2011-02-241-0/+20
* change instcombine to not turn a call to non-varargs bitcast ofChris Lattner2011-02-242-13/+15
* Make LoopDeletion work on loops with multiple edges, as long as the incomingCameron Zwarich2011-02-221-0/+26
* InstCombine: Add a bunch of combines of the form x | (y ^ z).Benjamin Kramer2011-02-201-0/+94
* Teach RecursivelyDeleteDeadPHINodes to handle multiple self-references. PatchNick Lewycky2011-02-201-1/+1
* PR9218: SimplifyDemandedVectorElts can return a non-null value that is notEli Friedman2011-02-191-0/+11
* rewrite the memset_pattern pattern generation stuff to accept any 2/4/8/16-byteChris Lattner2011-02-191-2/+27
* Stores of null pointers should turn into memset, we weren't recognizingChris Lattner2011-02-191-0/+22
* Implement rdar://9009151, transforming strided loop stores ofChris Lattner2011-02-191-0/+27
* Add some transforms of the kind X-Y>X -> 0>Y which are valid when there is noDuncan Sands2011-02-182-2/+126
* add a testcase for r125827Chris Lattner2011-02-181-0/+24