aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/InstructionSimplify.cpp
AgeCommit message (Expand)Author
2012-03-28Revert r153521 as it's causing large regressions on the nightly testers.Chad Rosier
2012-03-27Reapply r153423; the original commit was fine. The failing test, distray, had Chad Rosier
2012-03-26Revert r153423 as this is causing failures on our internal nightly testers.Chad Rosier
2012-03-26Use the new range metadata in computeMaskedBits and add a new optimization toRafael Espindola
2012-03-25Teach instsimplify how to simplify comparisons of pointers which areChandler Carruth
2012-03-25Switch the pointer-difference simplification logic to only work withChandler Carruth
2012-03-24Try to harden the recursive simplification still further. This is againChandler Carruth
2012-03-24Don't add the instruction about to be RAUW'ed and erased to theChandler Carruth
2012-03-24Refactor the interface to recursively simplifying instructions to be tadChandler Carruth
2012-03-21Teach instsimplify to gracefully degrade in the presence of instructionsChandler Carruth
2012-03-15Type sizes and fields offsets inside structs are unsigned. This is a highlyDuncan Sands
2012-03-13Generalize the "trunc(ptrtoint(x)) - trunc(ptrtoint(y)) ->Duncan Sands
2012-03-13Uniformize the InstructionSimplify interface by ensuring that all routinesDuncan Sands
2012-03-13Fix regression from r151466: an we can't replace uses of an instruction reach...Eli Friedman
2012-03-13Address some review comments from Duncan. This moves the iterativeChandler Carruth
2012-03-12Teach instsimplify how to constant fold pointer differences.Chandler Carruth
2012-03-10As Duncan pointed out, pointers tend not to be in floating point format...for...Bill Wendling
2012-03-10Make this transformation slightly less agressive and more correct.Bill Wendling
2012-03-10Refactor some methods to look through bitcasts and GEPs on pointers intoChandler Carruth
2012-02-26Reinstate the optimization from r151449 with a fix to not turn 'gep %x' intoNick Lewycky
2012-02-26Don't call dominates on unreachable instructions.Rafael Espindola
2012-02-25Roll these back to r151448 until I figure out how they're breakingNick Lewycky
2012-02-25An argument and a local identified object (eg. a noalias call) could turn outNick Lewycky
2012-02-25Fix five-letter typo in comment.Nick Lewycky
2012-02-25Teach instsimplify to be more aggressive when analyzing comparisons of pointersNick Lewycky
2012-02-24fix PR12075, a regression in a recent transform I added. In unreachable code...Chris Lattner
2012-02-20fold comparisons of gep'd alloca points with null to false,Chris Lattner
2012-02-18Fix a rather nasty regression from r150690: LHS != RHS does not imply LHS->st...Eli Friedman
2012-02-16Revert "InstSimplify: Strip pointer casts early."Benjamin Kramer
2012-02-16InstSimplify: Strip pointer casts early.Benjamin Kramer
2012-02-16InstSimplify: Ignore pointer casts when constant folding compares between poi...Benjamin Kramer
2012-02-10Fix PR11948: the result type of an icmp may be a vector of boolean -Duncan Sands
2012-02-07Convert assert(0) to llvm_unreachableCraig Topper
2012-01-01PatternMatch: Introduce a matcher for instructions with the "exact" bit. Use ...Benjamin Kramer
2011-12-05Add support for vectors of pointers.Nadav Rotem
2011-12-01Propagate TargetLibraryInfo throughout ConstantFolding.cpp and Chad Rosier
2011-12-01Make use of "getScalarType()". No functionality change.Nick Lewycky
2011-11-08Fix code to match comment. Fixes PR11340, a regression from r143209.Eli Friedman
2011-11-04Teach instsimplify to simplify calls to undef.Dan Gohman
2011-10-30Reapply commit 143214 with a fix: m_ICmp doesn't match conditionsDuncan Sands
2011-10-29Revert r143214; it's breaking a bunch of stuff.Eli Friedman
2011-10-28The expression icmp eq (select (icmp eq x, 0), 1, x), 0 folds to false.Duncan Sands
2011-10-28Fold icmp ugt (udiv X, Y), X to false. Spotted by my super-optimizerDuncan Sands
2011-10-27Reapply commit 143028 with a fix: the problem was casting a ConstantExpr MulDuncan Sands
2011-10-26The maximum power of 2 dividing a power of 2 is itself. This occursDuncan Sands
2011-09-05InstSimplify: Don't try to replace an extractvalue/insertvalue pair with the ...Benjamin Kramer
2011-09-05Add some simple insertvalue simplifications, for the purpose of cleaningDuncan Sands
2011-08-17Revert r137781; I agree with Duncan's comment that the situation in question ...Eli Friedman
2011-08-16Extend the undef ^ undef idiom once more. No testcase: I can't figure out ho...Eli Friedman
2011-08-04Fix what seems an obvious typo. Patch by Ivan Krasin. ProblemDuncan Sands