| Commit message (Expand) | Author | Age | Files | Lines |
* | Improve constant folding of undef for cmp and select operators. | Dan Gohman | 2011-07-01 | 1 | -4/+4 |
* | The comparision "max(x,y)==x" is equivalent to "x>=y". Since the max is | Duncan Sands | 2011-05-07 | 1 | -10/+56 |
* | PR9838: Fix transform introduced in r127064 to not trigger when only one side... | Eli Friedman | 2011-05-05 | 1 | -1/+1 |
* | Add variations on: max(x,y) >= min(x,z) folds to true. This isn't that common, | Duncan Sands | 2011-05-04 | 1 | -2/+46 |
* | Implement some basic simplifications involving min/max, for example | Duncan Sands | 2011-05-03 | 1 | -0/+118 |
* | Fix PR9579: when simplifying a compare to "true" or "false", and it was | Duncan Sands | 2011-05-02 | 1 | -18/+22 |
* | Move some rem transforms out of instcombine and into instsimplify. | Duncan Sands | 2011-05-02 | 1 | -0/+117 |
* | Don't include Operator.h from InstrTypes.h. | Jay Foad | 2011-04-11 | 1 | -0/+1 |
* | Fix two cases I forgot to update when doing a mental "getSwappedPredicate". | Nick Lewycky | 2011-03-09 | 1 | -2/+2 |
* | Add another micro-optimization. Apologies for the lack of refactoring, but I | Nick Lewycky | 2011-03-09 | 1 | -2/+28 |
* | Thread comparisons over udiv/sdiv/ashr/lshr exact and lshr nuw/nsw whenever | Nick Lewycky | 2011-03-05 | 1 | -1/+33 |
* | Revert broken srem logic from r126991. | Nick Lewycky | 2011-03-04 | 1 | -15/+0 |
* | Fold "icmp pred (srem X, Y), Y" like we do for urem. Handle signed comparisons | Nick Lewycky | 2011-03-04 | 1 | -1/+30 |
* | Teach instruction simplify to use constant ranges to solve problems of the form | Nick Lewycky | 2011-03-04 | 1 | -37/+61 |
* | Optimize "icmp pred (urem X, Y), Y" --> true/false depending on pred. There's | Nick Lewycky | 2011-03-01 | 1 | -0/+18 |
* | Move "A | ~(A & ?) -> -1" from InstCombine to InstructionSimplify. | Benjamin Kramer | 2011-02-20 | 1 | -0/+10 |
* | Remove pointless blank line. | Duncan Sands | 2011-02-13 | 1 | -1/+0 |
* | Teach instsimplify that X+Y>=X+Z is the same as Y>=Z if neither side overflows, | Duncan Sands | 2011-02-13 | 1 | -2/+49 |
* | Formatting and comment tweaks. | Duncan Sands | 2011-02-09 | 1 | -5/+5 |
* | Teach instsimplify some tricks about exact/nuw/nsw shifts. | Chris Lattner | 2011-02-09 | 1 | -39/+69 |
* | Rework InstrTypes.h so to reduce the repetition around the NSW/NUW/Exact | Chris Lattner | 2011-02-09 | 1 | -2/+2 |
* | Add an m_Div pattern for matching either a udiv or an sdiv and use it | Duncan Sands | 2011-02-07 | 1 | -4/+2 |
* | teach instsimplify to transform (X / Y) * Y to X | Chris Lattner | 2011-02-06 | 1 | -3/+5 |
* | Fix another warning. | Anders Carlsson | 2011-02-05 | 1 | -1/+1 |
* | Improve threading of comparisons over select instructions (spotted by my | Duncan Sands | 2011-02-03 | 1 | -3/+25 |
* | Reenable the transform "(X*Y)/Y->X" when the multiplication is known not to | Duncan Sands | 2011-02-02 | 1 | -5/+5 |
* | Add a m_Undef pattern for convenience. This is so that code that uses | Duncan Sands | 2011-02-01 | 1 | -16/+16 |
* | Have m_One also match constant vectors for which every element is 1. | Duncan Sands | 2011-02-01 | 1 | -6/+0 |
* | Commit 124487 broke 254.gap. See if disabling the part that might be triggered | Duncan Sands | 2011-01-30 | 1 | -5/+5 |
* | Transform (X/Y)*Y into X if the division is exact. Instcombine already knows... | Duncan Sands | 2011-01-30 | 1 | -0/+9 |
* | Fix comment. | Nick Lewycky | 2011-01-29 | 1 | -1/+1 |
* | Move InstCombine's knowledge of fdiv to SimplifyInstruction(). | Frits van Bommel | 2011-01-29 | 1 | -2/+24 |
* | This dyn_cast should be a cast. Pointed out by Frits van Bommel. | Duncan Sands | 2011-01-28 | 1 | -1/+1 |
* | Thread divisions over selects and phis. This doesn't fire much and has basic... | Duncan Sands | 2011-01-28 | 1 | -9/+19 |
* | My auto-simplifier noticed that ((X/Y)*Y)/Y occurs several times in SPEC | Duncan Sands | 2011-01-28 | 1 | -0/+107 |
* | According to my auto-simplifier the most common missed simplifications in | Duncan Sands | 2011-01-25 | 1 | -12/+64 |
* | At -O123 the early-cse pass is run before instcombine has run. According to my | Duncan Sands | 2011-01-20 | 1 | -0/+162 |
* | For completeness, generalize the (X + Y) - Y -> X transform and add X - (X + ... | Duncan Sands | 2011-01-18 | 1 | -15/+57 |
* | Simplify (X<<1)-X into X. According to my auto-simplier this is the most com... | Duncan Sands | 2011-01-18 | 1 | -0/+6 |
* | Turn X-(X-Y) into Y. According to my auto-simplifier this is the most common | Duncan Sands | 2011-01-14 | 1 | -1/+15 |
* | Factorize common code out of the InstructionSimplify shift logic. Add in | Duncan Sands | 2011-01-14 | 1 | -62/+38 |
* | Move some shift transforms out of instcombine and into InstructionSimplify. | Duncan Sands | 2011-01-14 | 1 | -0/+142 |
* | Remove some wrong code which fortunately was never executed (as explained in | Duncan Sands | 2011-01-13 | 1 | -6/+9 |
* | The most common simplification missed by instsimplify in unoptimized bitcode | Duncan Sands | 2011-01-13 | 1 | -19/+70 |
* | Revert commit 122654 at the request of Chris, who reckons that instsimplify | Duncan Sands | 2011-01-01 | 1 | -124/+52 |
* | Fix a README item by having InstructionSimplify do a mild form of value | Duncan Sands | 2011-01-01 | 1 | -52/+124 |
* | Cast away "comparison between signed and unsigned integer" warnings. | Benjamin Kramer | 2010-12-28 | 1 | -3/+6 |
* | When determining whether the new instruction was already present in | Duncan Sands | 2010-12-22 | 1 | -6/+8 |
* | Add some statistics, good for understanding how much more powerful | Duncan Sands | 2010-12-22 | 1 | -14/+48 |
* | While I don't think any later transforms can fire, it seems cleaner to | Duncan Sands | 2010-12-21 | 1 | -3/+6 |