| Commit message (Expand) | Author | Age | Files | Lines |
* | Revert r127459, "Optimize trivial branches in CodeGenPrepare, which often get | Daniel Dunbar | 2011-03-11 | 1 | -2/+1 |
* | ComputeMaskedBits: sub falls through to add, and sub doesn't have the same ov... | Benjamin Kramer | 2011-03-11 | 1 | -0/+10 |
* | InstCombine: Fix a thinko where transform an icmp under the assumption that i... | Benjamin Kramer | 2011-03-11 | 1 | -0/+10 |
* | Teach ComputeMaskedBits about nsw on add. I don't think there's anything we can | Nick Lewycky | 2011-03-11 | 1 | -0/+10 |
* | Optimize trivial branches in CodeGenPrepare, which often get created from the | Cameron Zwarich | 2011-03-11 | 1 | -1/+2 |
* | Fix reassociate to postpone certain instruction deletions until | Dan Gohman | 2011-03-10 | 1 | -0/+25 |
* | InstCombine: Turn umul_with_overflow into mul nuw if we can prove that it can... | Benjamin Kramer | 2011-03-10 | 1 | -0/+27 |
* | Fix mistyped CHECK lines. | Benjamin Kramer | 2011-03-09 | 3 | -3/+3 |
* | Preserve line number information while simplifying libcalls. | Devang Patel | 2011-03-09 | 1 | -0/+24 |
* | Add a test case for r127320. | Cameron Zwarich | 2011-03-09 | 1 | -0/+14 |
* | Add another micro-optimization. Apologies for the lack of refactoring, but I | Nick Lewycky | 2011-03-09 | 1 | -0/+8 |
* | Add support to scalar replacement for partial vector accesses of an alloca, e.g. | Cameron Zwarich | 2011-03-09 | 1 | -0/+59 |
* | PR9346: Prevent SimplifyDemandedBits from incorrectly introducing | Eli Friedman | 2011-03-09 | 1 | -0/+12 |
* | PR9420; an instruction before an unreachable is guaranteed not to have any | Eli Friedman | 2011-03-09 | 1 | -0/+31 |
* | Fix PR9331. Simplified version of a patch by Jakub Staszak. | Duncan Sands | 2011-03-08 | 1 | -0/+50 |
* | While sinking an instruction, do not lose llvm.dbg.value intrinsic. | Devang Patel | 2011-03-08 | 1 | -0/+62 |
* | Preserve line no. info. | Devang Patel | 2011-03-07 | 1 | -0/+49 |
* | Add test for r127138. | Rafael Espindola | 2011-03-07 | 1 | -0/+16 |
* | Tweak this test. We can analyze what happens and show that we still do the | Nick Lewycky | 2011-03-07 | 1 | -2/+2 |
* | Add more analysis of the sign bit of an srem instruction. If the LHS is negative | Nick Lewycky | 2011-03-07 | 1 | -0/+19 |
* | ConstantInt has some getters which return ConstantInt's or ConstantVector's of | Nick Lewycky | 2011-03-06 | 1 | -0/+10 |
* | Thread comparisons over udiv/sdiv/ashr/lshr exact and lshr nuw/nsw whenever | Nick Lewycky | 2011-03-05 | 2 | -0/+55 |
* | Try once again to optimize "icmp (srem X, Y), Y" by turning the comparison into | Nick Lewycky | 2011-03-05 | 1 | -0/+16 |
* | Revert broken srem logic from r126991. | Nick Lewycky | 2011-03-04 | 1 | -9/+0 |
* | Fold "icmp pred (srem X, Y), Y" like we do for urem. Handle signed comparisons | Nick Lewycky | 2011-03-04 | 2 | -2/+29 |
* | Teach instruction simplify to use constant ranges to solve problems of the form | Nick Lewycky | 2011-03-04 | 1 | -4/+76 |
* | Optimize fprintf -> iprintf if there are no floating point arguments | Richard Osborne | 2011-03-03 | 1 | -0/+21 |
* | Optimize sprintf -> siprintf if there are no floating point arguments | Richard Osborne | 2011-03-03 | 1 | -0/+21 |
* | Optimize printf -> iprintf if there are no floating point arguments | Richard Osborne | 2011-03-03 | 1 | -0/+29 |
* | Make InstCombiner::FoldAndOfICmps create a ConstantRange that's the | Anders Carlsson | 2011-03-01 | 1 | -0/+9 |
* | Optimize "icmp pred (urem X, Y), Y" --> true/false depending on pred. There's | Nick Lewycky | 2011-03-01 | 1 | -0/+16 |
* | Add an obvious missing safety check to DAE::RemoveDeadArgumentsFromCallers. | Eli Friedman | 2011-03-01 | 1 | -0/+13 |
* | Delete obsolete test. | Dan Gohman | 2011-02-28 | 1 | -46/+0 |
* | Teach SimplifyCFG that (switch (select cond, X, Y)) is better expressed as a ... | Frits van Bommel | 2011-02-28 | 1 | -0/+138 |
* | srem doesn't actually have the same resulting sign as its numerator, you could | Nick Lewycky | 2011-02-28 | 1 | -15/+5 |
* | Teach InstCombine to fold "(shr exact X, Y) == 0" --> X == 0, fixing #1 from | Nick Lewycky | 2011-02-28 | 1 | -0/+17 |
* | The sign of an srem instruction is the sign of its dividend (the first | Nick Lewycky | 2011-02-28 | 1 | -0/+10 |
* | Revert "SimplifyCFG: GEPs with just one non-constant index are also cheap." | Benjamin Kramer | 2011-02-25 | 1 | -1/+1 |
* | SimplifyCFG: GEPs with just one non-constant index are also cheap. | Benjamin Kramer | 2011-02-24 | 1 | -2/+22 |
* | SimplifyCFG: GEPs with constant indices are cheap enough to be executed uncon... | Benjamin Kramer | 2011-02-24 | 1 | -0/+20 |
* | change instcombine to not turn a call to non-varargs bitcast of | Chris Lattner | 2011-02-24 | 2 | -13/+15 |
* | Make LoopDeletion work on loops with multiple edges, as long as the incoming | Cameron Zwarich | 2011-02-22 | 1 | -0/+26 |
* | InstCombine: Add a bunch of combines of the form x | (y ^ z). | Benjamin Kramer | 2011-02-20 | 1 | -0/+94 |
* | Teach RecursivelyDeleteDeadPHINodes to handle multiple self-references. Patch | Nick Lewycky | 2011-02-20 | 1 | -1/+1 |
* | PR9218: SimplifyDemandedVectorElts can return a non-null value that is not | Eli Friedman | 2011-02-19 | 1 | -0/+11 |
* | rewrite the memset_pattern pattern generation stuff to accept any 2/4/8/16-byte | Chris Lattner | 2011-02-19 | 1 | -2/+27 |
* | Stores of null pointers should turn into memset, we weren't recognizing | Chris Lattner | 2011-02-19 | 1 | -0/+22 |
* | Implement rdar://9009151, transforming strided loop stores of | Chris Lattner | 2011-02-19 | 1 | -0/+27 |
* | Add some transforms of the kind X-Y>X -> 0>Y which are valid when there is no | Duncan Sands | 2011-02-18 | 2 | -2/+126 |
* | add a testcase for r125827 | Chris Lattner | 2011-02-18 | 1 | -0/+24 |