aboutsummaryrefslogtreecommitdiffstats
path: root/test/Transforms/InstSimplify/compare.ll
Commit message (Expand)AuthorAgeFilesLines
* Check whether a pointer is non-null (isKnownNonNull) in isKnownNonZero.Manman Ren2013-03-181-0/+11
* Rewrite instsimplify's handling if icmp on pointer values to remove theDan Gohman2013-02-011-0/+22
* An alloca can be equal to an argument. It can't *alias* an alloca, but it couldDan Gohman2013-01-311-0/+13
* Add support to ValueTracking for determining that a pointer is non-nullChandler Carruth2012-12-071-0/+40
* InstructionSimplify should be able to simplify A+B==B+A to 'true'Duncan Sands2012-11-161-0/+9
* Teach instsimplify how to simplify comparisons of pointers which areChandler Carruth2012-03-251-0/+62
* Reinstate the optimization from r151449 with a fix to not turn 'gep %x' intoNick Lewycky2012-02-261-0/+63
* Roll these back to r151448 until I figure out how they're breakingNick Lewycky2012-02-251-54/+0
* An argument and a local identified object (eg. a noalias call) could turn outNick Lewycky2012-02-251-14/+24
* Teach instsimplify to be more aggressive when analyzing comparisons of pointersNick Lewycky2012-02-251-0/+44
* fix PR12075, a regression in a recent transform I added. In unreachable code...Chris Lattner2012-02-241-0/+10
* fold comparisons of gep'd alloca points with null to false,Chris Lattner2012-02-201-1/+12
* Fix a rather nasty regression from r150690: LHS != RHS does not imply LHS->st...Eli Friedman2012-02-181-0/+10
* InstSimplify: Ignore pointer casts when constant folding compares between poi...Benjamin Kramer2012-02-161-0/+20
* Fix PR11948: the result type of an icmp may be a vector of boolean -Duncan Sands2012-02-101-0/+7
* Revert commit 149912 (lattner) and add a testcase that shows the problem (whichDuncan Sands2012-02-101-0/+9
* Fix code to match comment. Fixes PR11340, a regression from r143209.Eli Friedman2011-11-081-0/+10
* Reapply commit 143214 with a fix: m_ICmp doesn't match conditionsDuncan Sands2011-10-301-0/+18
* Revert r143214; it's breaking a bunch of stuff.Eli Friedman2011-10-291-9/+0
* The expression icmp eq (select (icmp eq x, 0), 1, x), 0 folds to false.Duncan Sands2011-10-281-0/+9
* Fold icmp ugt (udiv X, Y), X to false. Spotted by my super-optimizerDuncan Sands2011-10-281-0/+24
* Reapply commit 143028 with a fix: the problem was casting a ConstantExpr MulDuncan Sands2011-10-271-0/+31
* Revert Duncan's r143028 expression folding which appears to be the culpritBob Wilson2011-10-271-31/+0
* My super-optimizer noticed that we weren't folding this expression toDuncan Sands2011-10-261-0/+31
* Remove bogus test: for all possible inputs of %X, the 'sub nsw' is guaranteedNick Lewycky2011-07-191-11/+0
* Teach ComputeMaskedBits about sub nsw.Benjamin Kramer2011-03-121-0/+23
* Teach ComputeMaskedBits about nsw on add. I don't think there's anything we canNick Lewycky2011-03-111-0/+10
* Fix mistyped CHECK lines.Benjamin Kramer2011-03-091-1/+1
* Add another micro-optimization. Apologies for the lack of refactoring, but INick Lewycky2011-03-091-0/+8
* Thread comparisons over udiv/sdiv/ashr/lshr exact and lshr nuw/nsw wheneverNick Lewycky2011-03-051-0/+9
* 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-041-0/+18
* Teach instruction simplify to use constant ranges to solve problems of the formNick Lewycky2011-03-041-4/+76
* Optimize "icmp pred (urem X, Y), Y" --> true/false depending on pred. There'sNick Lewycky2011-03-011-0/+16
* Teach instsimplify that X+Y>=X+Z is the same as Y>=Z if neither side overflows,Duncan Sands2011-02-131-0/+189