aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/InstructionSimplify.cpp
AgeCommit message (Expand)Author
2011-02-20Move "A | ~(A & ?) -> -1" from InstCombine to InstructionSimplify.Benjamin Kramer
2011-02-13Remove pointless blank line.Duncan Sands
2011-02-13Teach instsimplify that X+Y>=X+Z is the same as Y>=Z if neither side overflows,Duncan Sands
2011-02-09Formatting and comment tweaks.Duncan Sands
2011-02-09Teach instsimplify some tricks about exact/nuw/nsw shifts.Chris Lattner
2011-02-09Rework InstrTypes.h so to reduce the repetition around the NSW/NUW/ExactChris Lattner
2011-02-07Add an m_Div pattern for matching either a udiv or an sdiv and use itDuncan Sands
2011-02-06teach instsimplify to transform (X / Y) * Y to XChris Lattner
2011-02-05Fix another warning.Anders Carlsson
2011-02-03Improve threading of comparisons over select instructions (spotted by myDuncan Sands
2011-02-02Reenable the transform "(X*Y)/Y->X" when the multiplication is known not toDuncan Sands
2011-02-01Add a m_Undef pattern for convenience. This is so that code that usesDuncan Sands
2011-02-01Have m_One also match constant vectors for which every element is 1.Duncan Sands
2011-01-30Commit 124487 broke 254.gap. See if disabling the part that might be triggeredDuncan Sands
2011-01-30Transform (X/Y)*Y into X if the division is exact. Instcombine already knows...Duncan Sands
2011-01-29Fix comment.Nick Lewycky
2011-01-29Move InstCombine's knowledge of fdiv to SimplifyInstruction().Frits van Bommel
2011-01-28This dyn_cast should be a cast. Pointed out by Frits van Bommel.Duncan Sands
2011-01-28Thread divisions over selects and phis. This doesn't fire much and has basic...Duncan Sands
2011-01-28My auto-simplifier noticed that ((X/Y)*Y)/Y occurs several times in SPECDuncan Sands
2011-01-25According to my auto-simplifier the most common missed simplifications inDuncan Sands
2011-01-20At -O123 the early-cse pass is run before instcombine has run. According to myDuncan Sands
2011-01-18For completeness, generalize the (X + Y) - Y -> X transform and add X - (X + ...Duncan Sands
2011-01-18Simplify (X<<1)-X into X. According to my auto-simplier this is the most com...Duncan Sands
2011-01-14Turn X-(X-Y) into Y. According to my auto-simplifier this is the most commonDuncan Sands
2011-01-14Factorize common code out of the InstructionSimplify shift logic. Add inDuncan Sands
2011-01-14Move some shift transforms out of instcombine and into InstructionSimplify.Duncan Sands
2011-01-13Remove some wrong code which fortunately was never executed (as explained inDuncan Sands
2011-01-13The most common simplification missed by instsimplify in unoptimized bitcodeDuncan Sands
2011-01-01Revert commit 122654 at the request of Chris, who reckons that instsimplifyDuncan Sands
2011-01-01Fix a README item by having InstructionSimplify do a mild form of valueDuncan Sands
2010-12-28Cast away "comparison between signed and unsigned integer" warnings.Benjamin Kramer
2010-12-22When determining whether the new instruction was already present inDuncan Sands
2010-12-22Add some statistics, good for understanding how much more powerfulDuncan Sands
2010-12-21While I don't think any later transforms can fire, it seems cleaner toDuncan Sands
2010-12-21Fix inverted condition noticed by Frits van Bommel.Duncan Sands
2010-12-21Pull a few more simplifications out of instcombine (there are stillDuncan Sands
2010-12-21Teach InstructionSimplify about distributive laws. These transforms fireDuncan Sands
2010-12-21Move checking of the recursion limit into the various Thread methods.Duncan Sands
2010-12-21Add generic simplification of associative operations, generalizingDuncan Sands
2010-12-20Have SimplifyBinOp dispatch Xor, Add and Sub to the corresponding methodsDuncan Sands
2010-12-15Move Sub simplifications and additional Add simplifications out ofDuncan Sands
2010-12-15If we detect that the instruction we are simplifying is unreachable, arrange forDuncan Sands
2010-11-29Add some dead stores to pacify my least favorite GCC warning: may beChandler Carruth
2010-11-23Expand a little on the description of what InstructionSimplify does.Duncan Sands
2010-11-22If a GEP index simply advances by multiples of a type of zero size,Duncan Sands
2010-11-22Move the "gep undef" -> "undef" transform from instcombine toDuncan Sands
2010-11-21Add a rather pointless InstructionSimplify transform, inspired by recent cons...Duncan Sands
2010-11-19Remove threading of Xor over selects and phis, with an explanationDuncan Sands
2010-11-17Move some those Xor simplifications which don't require creating newDuncan Sands