aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/ScalarEvolution.cpp
AgeCommit message (Expand)Author
2010-11-19Silence warning about an uninitialized variable.Benjamin Kramer
2010-11-18Factor code for testing whether replacing one value with anotherDuncan Sands
2010-11-18Introduce memoization for ScalarEvolution dominates and properlyDominatesDan Gohman
2010-11-17Factor out the code for purging a SCEV from all the various memoization maps.Dan Gohman
2010-11-17Merge the implementations of isLoopInvariant and hasComputableLoopEvolution, andDan Gohman
2010-11-17Make SCEV::getType() and SCEV::print non-virtual. Move SCEV::hasOperandDan Gohman
2010-11-17Move SCEV::dominates and properlyDominates to ScalarEvolution.Dan Gohman
2010-11-17Move SCEV::isLoopInvariant and hasComputableLoopEvolution to be memberDan Gohman
2010-11-17Before replacing a phi node with a different value, itDuncan Sands
2010-11-17Verify SCEVAddRecExpr's invariant in ScalarEvolution::getAddRecExprDan Gohman
2010-11-17Fix ScalarEvolution's range memoization to avoid using aDan Gohman
2010-11-17Have ScalarEvolution use SimplifyInstruction rather than hasConstantValue.Duncan Sands
2010-11-17Memoize results from ScalarEvolution's getUnsignedRange and getSignedRange.Dan Gohman
2010-10-29Make ScalarEvolution::forgetLoop forget all contained loops too, becauseDan Gohman
2010-10-19Get rid of static constructors for pass registration. Instead, every pass ex...Owen Anderson
2010-10-12Begin adding static dependence information to passes, which will allow us toOwen Anderson
2010-10-07Now with fewer extraneous semicolons!Owen Anderson
2010-10-04Don't add the operand count to SCEV uniquing data; FoldingSetNodeIDDan Gohman
2010-08-31Reapply r112432, now that the real problem is addressed.Dan Gohman
2010-08-31Reapply r112433, now that the real problem is addressed.Dan Gohman
2010-08-31Revert r110916. This patch is buggy because the code inside theDan Gohman
2010-08-31Revert r112432. It appears to be exposing a problem in the emacs build.Dan Gohman
2010-08-31Speculatively revert r112433.Dan Gohman
2010-08-29Restructure the {A,+,B}<L> * {C,+,D}<L> folding so that it foldsDan Gohman
2010-08-29Batch up subtracts along with adds, when analyzing long chains ofDan Gohman
2010-08-29Micro-optimize GroupByComplexity.Dan Gohman
2010-08-29Hold AddRec->getLoop() in a variable, to make the Mul code more consistentDan Gohman
2010-08-29Rename a variable, for consistency.Dan Gohman
2010-08-29Use iterators instead of indices.Dan Gohman
2010-08-28Fix an index calculation thinko.Dan Gohman
2010-08-27When merging adjacent operands, scan ahead and merge all equalDan Gohman
2010-08-27Make the {A,+,B}<L> + {C,+,D}<L> --> Other + {A+C,+,B+D}<L>Dan Gohman
2010-08-27Switch ScalarEvolution's main Value*->SCEV* map from std::mapDan Gohman
2010-08-27Optimize SCEVComplexityCompare. Use a 3-way return instead of a 2-wayDan Gohman
2010-08-16To create a copy of a SmallVector with an element removed from theDan Gohman
2010-08-16Tidy whitespace.Dan Gohman
2010-08-16Add a comment.Dan Gohman
2010-08-16Use const_iterator in a few places.Dan Gohman
2010-08-16Use iterators instead of indices in a few more places.Dan Gohman
2010-08-16Micro-optimize SCEVConstant comparison.Dan Gohman
2010-08-16Move SCEVNAryExpr's virtual member functions out of line, and convertDan Gohman
2010-08-16Use iterators instead of indices in simple cases.Dan Gohman
2010-08-16Avoid gratuitous inefficiency in ifndef NDEBUG code.Dan Gohman
2010-08-16Make one getAddExpr call when analyzing a+b+c+d+e+... instead of oneDan Gohman
2010-08-16Delete an unused function.Dan Gohman
2010-08-13Various optimizations. Don't compare two loops' depthsDan Gohman
2010-08-13When testing whether one loop contains another, test this directlyDan Gohman
2010-08-13Add a const.Dan Gohman
2010-08-13When creating a symmetric SCEV with a constant operand, putDan Gohman
2010-08-13An add recurrence is loop-invariant in any loop inside of itsDan Gohman