| Commit message (Expand) | Author | Age | Files | Lines |
* | Revert r153423 as this is causing failures on our internal nightly testers. | Chad Rosier | 2012-03-26 | 1 | -15/+0 |
* | Use the new range metadata in computeMaskedBits and add a new optimization to | Rafael Espindola | 2012-03-26 | 1 | -0/+15 |
* | Teach instsimplify how to simplify comparisons of pointers which are | Chandler Carruth | 2012-03-25 | 1 | -0/+62 |
* | Switch the pointer-difference simplification logic to only work with | Chandler Carruth | 2012-03-25 | 1 | -10/+25 |
* | Generalize the "trunc(ptrtoint(x)) - trunc(ptrtoint(y)) -> | Duncan Sands | 2012-03-13 | 1 | -0/+9 |
* | Teach instsimplify how to constant fold pointer differences. | Chandler Carruth | 2012-03-12 | 1 | -0/+33 |
* | Make sure we don't return bits outside the mask in ComputeMaskedBits. PR12189. | Eli Friedman | 2012-03-05 | 1 | -0/+22 |
* | Reinstate the optimization from r151449 with a fix to not turn 'gep %x' into | Nick Lewycky | 2012-02-26 | 1 | -0/+63 |
* | Roll these back to r151448 until I figure out how they're breaking | Nick Lewycky | 2012-02-25 | 1 | -54/+0 |
* | An argument and a local identified object (eg. a noalias call) could turn out | Nick Lewycky | 2012-02-25 | 1 | -14/+24 |
* | Teach instsimplify to be more aggressive when analyzing comparisons of pointers | Nick Lewycky | 2012-02-25 | 1 | -0/+44 |
* | fix PR12075, a regression in a recent transform I added. In unreachable code... | Chris Lattner | 2012-02-24 | 1 | -0/+10 |
* | fold comparisons of gep'd alloca points with null to false, | Chris Lattner | 2012-02-20 | 1 | -1/+12 |
* | Fix a rather nasty regression from r150690: LHS != RHS does not imply LHS->st... | Eli Friedman | 2012-02-18 | 1 | -0/+10 |
* | InstSimplify: Ignore pointer casts when constant folding compares between poi... | Benjamin Kramer | 2012-02-16 | 1 | -0/+20 |
* | Replace all instances of dg.exp file with lit.local.cfg, since all tests are ... | Eli Bendersky | 2012-02-16 | 2 | -3/+1 |
* | Fix PR11948: the result type of an icmp may be a vector of boolean - | Duncan Sands | 2012-02-10 | 1 | -0/+7 |
* | Revert commit 149912 (lattner) and add a testcase that shows the problem (which | Duncan Sands | 2012-02-10 | 1 | -0/+9 |
* | Add support for vectors of pointers. | Nadav Rotem | 2011-12-05 | 1 | -0/+8 |
* | Fix a crash in which a multiplication was being reported as being both negative | Duncan Sands | 2011-11-23 | 1 | -0/+17 |
* | Fix code to match comment. Fixes PR11340, a regression from r143209. | Eli Friedman | 2011-11-08 | 1 | -0/+10 |
* | Add tests for existing InstSimplify features. | Dan Gohman | 2011-11-04 | 1 | -0/+21 |
* | Teach instsimplify to simplify calls to undef. | Dan Gohman | 2011-11-04 | 1 | -0/+7 |
* | Reapply commit 143214 with a fix: m_ICmp doesn't match conditions | Duncan Sands | 2011-10-30 | 1 | -0/+18 |
* | Revert r143214; it's breaking a bunch of stuff. | Eli Friedman | 2011-10-29 | 1 | -9/+0 |
* | The expression icmp eq (select (icmp eq x, 0), 1, x), 0 folds to false. | Duncan Sands | 2011-10-28 | 1 | -0/+9 |
* | A shift of a power of two is a power of two or zero. | Duncan Sands | 2011-10-28 | 1 | -0/+10 |
* | Fold icmp ugt (udiv X, Y), X to false. Spotted by my super-optimizer | Duncan Sands | 2011-10-28 | 1 | -0/+24 |
* | Reapply commit 143028 with a fix: the problem was casting a ConstantExpr Mul | Duncan Sands | 2011-10-27 | 2 | -0/+43 |
* | Revert Duncan's r143028 expression folding which appears to be the culprit | Bob Wilson | 2011-10-27 | 1 | -31/+0 |
* | The maximum power of 2 dividing a power of 2 is itself. This occurs | Duncan Sands | 2011-10-26 | 1 | -0/+12 |
* | My super-optimizer noticed that we weren't folding this expression to | Duncan Sands | 2011-10-26 | 1 | -0/+31 |
* | InstSimplify: Don't try to replace an extractvalue/insertvalue pair with the ... | Benjamin Kramer | 2011-09-05 | 1 | -4/+11 |
* | Add some simple insertvalue simplifications, for the purpose of cleaning | Duncan Sands | 2011-09-05 | 1 | -0/+22 |
* | Remove bogus test: for all possible inputs of %X, the 'sub nsw' is guaranteed | Nick Lewycky | 2011-07-19 | 1 | -11/+0 |
* | Improve constant folding of undef for cmp and select operators. | Dan Gohman | 2011-07-01 | 1 | -0/+28 |
* | Improve constant folding of undef for binary operators. | Dan Gohman | 2011-07-01 | 1 | -0/+99 |
* | The comparision "max(x,y)==x" is equivalent to "x>=y". Since the max is | Duncan Sands | 2011-05-07 | 1 | -0/+36 |
* | Add variations on: max(x,y) >= min(x,z) folds to true. This isn't that common, | Duncan Sands | 2011-05-04 | 1 | -0/+88 |
* | Implement some basic simplifications involving min/max, for example | Duncan Sands | 2011-05-03 | 1 | -0/+145 |
* | Move some rem transforms out of instcombine and into instsimplify. | Duncan Sands | 2011-05-02 | 1 | -0/+17 |
* | Teach ComputeMaskedBits about sub nsw. | Benjamin Kramer | 2011-03-12 | 1 | -0/+23 |
* | Teach ComputeMaskedBits about nsw on add. I don't think there's anything we can | Nick Lewycky | 2011-03-11 | 1 | -0/+10 |
* | Fix mistyped CHECK lines. | Benjamin Kramer | 2011-03-09 | 1 | -1/+1 |
* | Add another micro-optimization. Apologies for the lack of refactoring, but I | Nick Lewycky | 2011-03-09 | 1 | -0/+8 |
* | Thread comparisons over udiv/sdiv/ashr/lshr exact and lshr nuw/nsw whenever | Nick Lewycky | 2011-03-05 | 1 | -0/+9 |
* | 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 | 1 | -0/+18 |
* | Teach instruction simplify to use constant ranges to solve problems of the form | Nick Lewycky | 2011-03-04 | 1 | -4/+76 |
* | Optimize "icmp pred (urem X, Y), Y" --> true/false depending on pred. There's | Nick Lewycky | 2011-03-01 | 1 | -0/+16 |