| Commit message (Expand) | Author | Age | Files | Lines |
* | The expression icmp eq (select (icmp eq x, 0), 1, x), 0 folds to false. | Duncan Sands | 2011-10-28 | 1 | -29/+45 |
* | Fold icmp ugt (udiv X, Y), X to false. Spotted by my super-optimizer | Duncan Sands | 2011-10-28 | 1 | -0/+12 |
* | Reapply commit 143028 with a fix: the problem was casting a ConstantExpr Mul | Duncan Sands | 2011-10-27 | 1 | -2/+3 |
* | The maximum power of 2 dividing a power of 2 is itself. This occurs | Duncan Sands | 2011-10-26 | 1 | -0/+9 |
* | InstSimplify: Don't try to replace an extractvalue/insertvalue pair with the ... | Benjamin Kramer | 2011-09-05 | 1 | -1/+2 |
* | Add some simple insertvalue simplifications, for the purpose of cleaning | Duncan Sands | 2011-09-05 | 1 | -0/+36 |
* | Revert r137781; I agree with Duncan's comment that the situation in question ... | Eli Friedman | 2011-08-17 | 1 | -5/+4 |
* | Extend the undef ^ undef idiom once more. No testcase: I can't figure out ho... | Eli Friedman | 2011-08-16 | 1 | -4/+5 |
* | Fix what seems an obvious typo. Patch by Ivan Krasin. Problem | Duncan Sands | 2011-08-04 | 1 | -1/+1 |
* | Add helper function for getting true/false constants in a uniform | Duncan Sands | 2011-07-26 | 1 | -34/+48 |
* | Convert GetElementPtrInst to use ArrayRef. | Jay Foad | 2011-07-25 | 1 | -2/+1 |
* | Convert ConstantExpr::getGetElementPtr and | Jay Foad | 2011-07-21 | 1 | -3/+1 |
* | Convert SimplifyGEPInst to use ArrayRef. | Jay Foad | 2011-07-19 | 1 | -8/+9 |
* | Use ArrayRef in ConstantFoldInstOperands and ConstantFoldCall. | Jay Foad | 2011-07-19 | 1 | -10/+10 |
* | land David Blaikie's patch to de-constify Type, with a few tweaks. | Chris Lattner | 2011-07-18 | 1 | -9/+9 |
* | 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 |