aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/Scalar/LoopStrengthReduce.cpp
AgeCommit message (Expand)Author
2010-05-20More code cleanups. Use iterators instead of indices when indicesDan Gohman
2010-05-20Fix OptimizeShadowIV to set Changed. Change OptimizeLoopTermCond to setDan Gohman
2010-05-20Add some comments.Dan Gohman
2010-05-20Simplify this code. Don't do a DomTreeNode lookup for each visited block.Dan Gohman
2010-05-20Minor code cleanups.Dan Gohman
2010-05-20When canonicalizing icmp operand order to put the loop invariantDan Gohman
2010-05-20Set Changed to true when canonicalizing ICmp operand order; even thoughDan Gohman
2010-05-20Rename a variable to avoid shadowing.Dan Gohman
2010-05-20Minor code simplification.Dan Gohman
2010-05-20Move the code for deleting BaseRegs and LSRUses into helper functions,Dan Gohman
2010-05-19Teach LSR how to cope better with unrolled loops on targets whereDan Gohman
2010-05-18Add a comment.Dan Gohman
2010-05-18Fix the predicate which checks for non-sensical formulae which haveDan Gohman
2010-05-18Factor out the code for recomputing an LSRUse's Regs set after someDan Gohman
2010-05-18Factor out code for estimating search space complexity into a helperDan Gohman
2010-05-18Add some more debug output.Dan Gohman
2010-05-18Factor out the code for deleting a formula from an LSRUse intoDan Gohman
2010-05-18Make some debug output more informative.Dan Gohman
2010-05-18Print an error message in Formula::print if the HasBaseReg flagDan Gohman
2010-05-18Rename RegUseTracker's RegUses member to RegUsesMap to avoidDan Gohman
2010-05-11Fixes for Microsoft Visual Studio 2010, from Steven Watanabe!Douglas Gregor
2010-05-07When pruning candidate formulae out of an LSRUse, update theDan Gohman
2010-05-03Use getConstant instead of getIntegerSCEV. The two are basically theDan Gohman
2010-04-24Generalize LSR's OptimizeMax to handle the new kinds of max expressionsDan Gohman
2010-04-23Fix LSR to tolerate cases where ScalarEvolution initiallyDan Gohman
2010-04-19Remove the Expr member from IVUsers. Instead of remembering the expression,Dan Gohman
2010-04-12Delete this code, which is no longer needed.Dan Gohman
2010-04-09When determining a canonical insert position, don't climb deeperDan Gohman
2010-04-09When looking for loop-invariant users, look through no-op instructions,Dan Gohman
2010-04-09Refactor the code for computing the insertion point for an expression intoDan Gohman
2010-04-08Avoid allocating a value of zero in a register if the initial formulaDan Gohman
2010-04-08Add variants of ult, ule, etc. which take a uint64_t RHS, for convenience.Dan Gohman
2010-04-08When expanding expressions which are using post-inc mode for multiple loops,Dan Gohman
2010-04-07Generalize IVUsers to track arbitrary expressions rather than expressionsDan Gohman
2010-03-26Ignore debug intrinsics in yet more places.Dan Gohman
2010-03-25rename use_const_iterator to const_use_iterator for consistency's sakeGabor Greif
2010-03-03Make SCEVExpander and LSR more aggressive about hoisting expressions outDan Gohman
2010-03-02Non-affine post-inc SCEV expansions have more code which must beDan Gohman
2010-03-01Spelling fixes.Dan Gohman
2010-02-22Remove unused variables and parameters.Dan Gohman
2010-02-22When emitting an instruction which depends on both a post-incrementedDan Gohman
2010-02-19Rename getSDiv to getExactSDiv to reflect its behavior in cases whereDan Gohman
2010-02-19Check for overflow when scaling up an add or an addrec forDan Gohman
2010-02-19When determining the set of interesting reuse factors, considerDan Gohman
2010-02-17Delete some unneeded casts.Dan Gohman
2010-02-17Don't attempt to divide INT_MIN by -1; consider such cases toDan Gohman
2010-02-16Refactor rewriting for PHI nodes into a separate function.Dan Gohman
2010-02-16Fix whitespace.Dan Gohman
2010-02-16There are two ways of checking for a given type, for example isa<PointerType>(T)Duncan Sands
2010-02-16Split the main for-each-use loop again, this time for GenerateTruncates,Dan Gohman