aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/ScalarEvolution.cpp
AgeCommit message (Expand)Author
2010-06-29Fix ScalarEvolution's tripcount computation for chains of loopsDan Gohman
2010-06-29Just as its not safe to blindly transfer the nsw bit from an addDan Gohman
2010-06-25Eliminate a redundant FoldingSet lookup.Dan Gohman
2010-06-24Don't try to preserve pointer types in SCEVConstants; the old codeDan Gohman
2010-06-24Make the trunc code consistent with the zext and sext code in itsDan Gohman
2010-06-22Replace ScalarEvolution's private copy of getLoopPredecessorDan Gohman
2010-06-22Allow "exhaustive" trip count evaluation on phi nodes with allDan Gohman
2010-06-21Use A.append(...) instead of A.insert(A.end(), ...) when A is aDan Gohman
2010-06-19Fix ScalarEvolution's "exhaustive" trip count evaluation code to avoidDan Gohman
2010-06-18Revert r106304 (105548 and friends), which are the SCEVComplexityCompareDan Gohman
2010-06-18Reapply 105540, 105542, and 105548, and revert r105732.Dan Gohman
2010-06-18Reapply 105546.Dan Gohman
2010-06-18Reapply 105544.Dan Gohman
2010-06-18Remove getIntegerSCEV; it's redundant with getConstant, and getConstantDan Gohman
2010-06-17Simplify this code.Dan Gohman
2010-06-09Revert 105540, 105542, 105544, 105546, and 105548 to unbreak bootstrapping.Evan Cheng
2010-06-07The FoldingSet hash data includes pointer values, so it isn'tDan Gohman
2010-06-07Optimize this code somewhat by taking advantage of the factDan Gohman
2010-06-07Micro-optimize this, to speed up this hotspot in debug builds a little.Dan Gohman
2010-06-07Micro-optimize this.Dan Gohman
2010-06-07Optimize ScalarEvolution's SCEVComplexityCompare predicate: don't goDan Gohman
2010-05-28ConstantFoldConstantExpression can theoretically return null.Dan Gohman
2010-05-04Use the SCEVAddRecExpr::getPostIncExpr utility function insteadDan Gohman
2010-05-04Fix a copy+pasto.Dan Gohman
2010-05-03Use getConstant instead of getIntegerSCEV. The two are basically theDan Gohman
2010-05-03Silence warnings about -1 being converted to an unsigned value.Dan Gohman
2010-05-03Use isTrueWhenEqual and isFalseWhenEqual instead of assuming thatDan Gohman
2010-05-03In ScalarEvolution::print, don't bother printing out the SCEVs forDan Gohman
2010-05-03In SimplifyICmpOperands, avoid needlessly swapping the operands in theDan Gohman
2010-05-03Factor out the new <= and >= analysis code into SimplifyICmpOperands.Dan Gohman
2010-04-30Set isSigned to true when creating an all-ones integer constant, evenDan Gohman
2010-04-30Silence compiler warnings.Dan Gohman
2010-04-24ScalarEvolution support for <= and >= loops.Dan Gohman
2010-04-24Use SimplifyICmpOperands in isKnownPredicate too.Dan Gohman
2010-04-24Update isImpliedCond to use the new SimplifyICmpOperands utility.Dan Gohman
2010-04-24Add a new utility function SimplifyICmpOperands. Much of this code isDan Gohman
2010-04-23When it doesn't matter whether zero or sign extension is used,Dan Gohman
2010-04-22Don't attempt to analyze values which are obviously undef. This fixes someDan Gohman
2010-04-21Make ScalarEvolution::getConstant support pointer types, for consistencyDan Gohman
2010-04-16Fix SCEVCommutativeExpr::print to be robust in the case of improperDan Gohman
2010-04-15Make getPredecessorWithUniqueSuccessorForBB return the unique successorDan Gohman
2010-04-14Add a comment.Dan Gohman
2010-04-13Teach ScalarEvolution to simplify smax and umax when it can proveDan Gohman
2010-04-13Minor code micro-optimizations.Dan Gohman
2010-04-12Micro-optimize a few hot spots.Dan Gohman
2010-04-12Add fast paths to ScalarEvolution::getSizeOf and getOffsetOf, asDan Gohman
2010-04-12Generalize ScalarEvolution's PHI analysis to handle loops that don'tDan Gohman
2010-04-12Rewrite the overflow checking in the get{Signed,Unsigned}Range code forDan Gohman
2010-04-11Fix indentation.Dan Gohman
2010-04-11Enhance ScalarEvolution::isKnownPredicate with support forDan Gohman