aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Analysis/InstructionSimplify.cpp
Commit message (Expand)AuthorAgeFilesLines
* Don't include Operator.h from InstrTypes.h.Jay Foad2011-04-111-0/+1
* Fix two cases I forgot to update when doing a mental "getSwappedPredicate".Nick Lewycky2011-03-091-2/+2
* Add another micro-optimization. Apologies for the lack of refactoring, but INick Lewycky2011-03-091-2/+28
* Thread comparisons over udiv/sdiv/ashr/lshr exact and lshr nuw/nsw wheneverNick Lewycky2011-03-051-1/+33
* Revert broken srem logic from r126991.Nick Lewycky2011-03-041-15/+0
* Fold "icmp pred (srem X, Y), Y" like we do for urem. Handle signed comparisonsNick Lewycky2011-03-041-1/+30
* Teach instruction simplify to use constant ranges to solve problems of the formNick Lewycky2011-03-041-37/+61
* Optimize "icmp pred (urem X, Y), Y" --> true/false depending on pred. There'sNick Lewycky2011-03-011-0/+18
* Move "A | ~(A & ?) -> -1" from InstCombine to InstructionSimplify.Benjamin Kramer2011-02-201-0/+10
* Remove pointless blank line.Duncan Sands2011-02-131-1/+0
* Teach instsimplify that X+Y>=X+Z is the same as Y>=Z if neither side overflows,Duncan Sands2011-02-131-2/+49
* Formatting and comment tweaks.Duncan Sands2011-02-091-5/+5
* Teach instsimplify some tricks about exact/nuw/nsw shifts.Chris Lattner2011-02-091-39/+69
* Rework InstrTypes.h so to reduce the repetition around the NSW/NUW/ExactChris Lattner2011-02-091-2/+2
* Add an m_Div pattern for matching either a udiv or an sdiv and use itDuncan Sands2011-02-071-4/+2
* teach instsimplify to transform (X / Y) * Y to XChris Lattner2011-02-061-3/+5
* Fix another warning.Anders Carlsson2011-02-051-1/+1
* Improve threading of comparisons over select instructions (spotted by myDuncan Sands2011-02-031-3/+25
* Reenable the transform "(X*Y)/Y->X" when the multiplication is known not toDuncan Sands2011-02-021-5/+5
* Add a m_Undef pattern for convenience. This is so that code that usesDuncan Sands2011-02-011-16/+16
* Have m_One also match constant vectors for which every element is 1.Duncan Sands2011-02-011-6/+0
* Commit 124487 broke 254.gap. See if disabling the part that might be triggeredDuncan Sands2011-01-301-5/+5
* Transform (X/Y)*Y into X if the division is exact. Instcombine already knows...Duncan Sands2011-01-301-0/+9
* Fix comment.Nick Lewycky2011-01-291-1/+1
* Move InstCombine's knowledge of fdiv to SimplifyInstruction().Frits van Bommel2011-01-291-2/+24
* This dyn_cast should be a cast. Pointed out by Frits van Bommel.Duncan Sands2011-01-281-1/+1
* Thread divisions over selects and phis. This doesn't fire much and has basic...Duncan Sands2011-01-281-9/+19
* My auto-simplifier noticed that ((X/Y)*Y)/Y occurs several times in SPECDuncan Sands2011-01-281-0/+107
* According to my auto-simplifier the most common missed simplifications inDuncan Sands2011-01-251-12/+64
* At -O123 the early-cse pass is run before instcombine has run. According to myDuncan Sands2011-01-201-0/+162
* For completeness, generalize the (X + Y) - Y -> X transform and add X - (X + ...Duncan Sands2011-01-181-15/+57
* Simplify (X<<1)-X into X. According to my auto-simplier this is the most com...Duncan Sands2011-01-181-0/+6
* Turn X-(X-Y) into Y. According to my auto-simplifier this is the most commonDuncan Sands2011-01-141-1/+15
* Factorize common code out of the InstructionSimplify shift logic. Add inDuncan Sands2011-01-141-62/+38
* Move some shift transforms out of instcombine and into InstructionSimplify.Duncan Sands2011-01-141-0/+142
* Remove some wrong code which fortunately was never executed (as explained inDuncan Sands2011-01-131-6/+9
* The most common simplification missed by instsimplify in unoptimized bitcodeDuncan Sands2011-01-131-19/+70
* Revert commit 122654 at the request of Chris, who reckons that instsimplifyDuncan Sands2011-01-011-124/+52
* Fix a README item by having InstructionSimplify do a mild form of valueDuncan Sands2011-01-011-52/+124
* Cast away "comparison between signed and unsigned integer" warnings.Benjamin Kramer2010-12-281-3/+6
* When determining whether the new instruction was already present inDuncan Sands2010-12-221-6/+8
* Add some statistics, good for understanding how much more powerfulDuncan Sands2010-12-221-14/+48
* While I don't think any later transforms can fire, it seems cleaner toDuncan Sands2010-12-211-3/+6
* Fix inverted condition noticed by Frits van Bommel.Duncan Sands2010-12-211-3/+3
* Pull a few more simplifications out of instcombine (there are stillDuncan Sands2010-12-211-5/+86
* Teach InstructionSimplify about distributive laws. These transforms fireDuncan Sands2010-12-211-11/+159
* Move checking of the recursion limit into the various Thread methods.Duncan Sands2010-12-211-20/+36
* Add generic simplification of associative operations, generalizingDuncan Sands2010-12-211-28/+118
* Have SimplifyBinOp dispatch Xor, Add and Sub to the corresponding methodsDuncan Sands2010-12-201-5/+27
* Move Sub simplifications and additional Add simplifications out ofDuncan Sands2010-12-151-10/+67