aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Analysis/InstructionSimplify.cpp
Commit message (Expand)AuthorAgeFilesLines
* 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
* If we detect that the instruction we are simplifying is unreachable, arrange forDuncan Sands2010-12-151-3/+3
* Add some dead stores to pacify my least favorite GCC warning: may beChandler Carruth2010-11-291-3/+3
* Expand a little on the description of what InstructionSimplify does.Duncan Sands2010-11-231-2/+4
* If a GEP index simply advances by multiples of a type of zero size,Duncan Sands2010-11-221-1/+1
* Move the "gep undef" -> "undef" transform from instcombine toDuncan Sands2010-11-221-4/+11
* Add a rather pointless InstructionSimplify transform, inspired by recent cons...Duncan Sands2010-11-211-2/+10
* Remove threading of Xor over selects and phis, with an explanationDuncan Sands2010-11-191-13/+18
* Move some those Xor simplifications which don't require creating newDuncan Sands2010-11-171-30/+78
* Previously SimplifyInstruction could report that an instructionDuncan Sands2010-11-171-15/+31
* Fix a layering violation: hasConstantValue, which is part of the PHINodeDuncan Sands2010-11-171-3/+37
* In which I discover the existence of loops. Threading an operationDuncan Sands2010-11-161-60/+102
* Teach InstructionSimplify the trick of skipping incoming phiDuncan Sands2010-11-151-4/+9
* If dom tree information is available, make it possible to passDuncan Sands2010-11-141-5/+7
* Teach InstructionSimplify about phi nodes. I chose to have it simplyDuncan Sands2010-11-141-0/+2
* Strip trailing whitespace.Duncan Sands2010-11-141-50/+49
* Reduce the maximum recursion depth, 5 seems pointlessly too much.Duncan Sands2010-11-101-1/+1
* Teach InstructionSimplify how to look through PHI nodes. Since PHIDuncan Sands2010-11-101-32/+163