aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/ScalarEvolution.cpp
AgeCommit message (Expand)AuthorFilesLines
2011-07-26SCEV: Added a data structure for storing not-taken info per loopAndrew Trick1-127/+212
2011-07-19Use ArrayRef in ConstantFoldInstOperands and ConstantFoldCall.Jay Foad1-3/+2
2011-07-18land David Blaikie's patch to de-constify Type, with a few tweaks.Chris Lattner1-71/+71
2011-06-01SCEV: missing null check fix for r132360, dragonegg crash.Andrew Trick1-3/+3
2011-05-31scev: Better sign-extend removal. Normalize postincrement recurrencesAndrew Trick1-31/+102
2011-05-09Change a few std::maps to DenseMaps.Dan Gohman1-2/+2
2011-04-27Corrects an old, old typo in a case that doesn't seem to be reached in practice.Andrew Trick1-1/+1
2011-04-27Test case and comment for PR9633.Andrew Trick1-2/+3
2011-04-27Fix for PR9633 [indvars] Assertion `isa<X>(Val) && "cast<Ty>() argument of in...Andrew Trick1-2/+7
2011-04-25Fix an iterator invalidation bug.Dan Gohman1-9/+16
2011-04-15Fix a ton of comment typos found by codespell. Patch byChris Lattner1-1/+1
2011-03-17Added isValidRewrite() to check the result of ScalarEvolutionExpander.Andrew Trick1-0/+30
2011-03-15Remove getMinusSCEVForExitTest().Andrew Trick1-106/+3
2011-03-15Propagate SCEV no-wrap flags whenever possible.Andrew Trick1-60/+72
2011-03-14Negating a recurrence preserves no-self-wrap.Andrew Trick1-0/+11
2011-03-14HowFarToZero can compute a trip count as long as the recurrence has no-self-w...Andrew Trick1-16/+20
2011-03-14Added SCEV::NoWrapFlags to manage unsigned, signed, and self wrapAndrew Trick1-126/+187
2011-03-09When SCEV can determine the loop test is X < X, set ExactBECount=0.Andrew Trick1-1/+17
2011-03-09whitespaceAndrew Trick1-18/+18
2011-02-13teach SCEV that the scale and addition of an inbounds gep don't NSW.Chris Lattner1-2/+5
2011-02-11Per discussion with Dan G, inbounds geps *certainly* can haveChris Lattner1-3/+14
2011-01-26Fix memory corruption. If one of the SCEV creation functions calls another butNick Lewycky1-0/+2
2011-01-24Add a comment.Dan Gohman1-0/+1
2011-01-23Simplify some code with no functionality change. Make the test a lot moreNick Lewycky1-12/+4
2011-01-23Use value ranges to fold ext(trunc) in SCEV when possible.Nick Lewycky1-0/+34
2011-01-22Have SCEV turn sext(x) into zext(x) when x is s>= 0. This applies many times inNick Lewycky1-0/+4
2011-01-19Similarly, analyze truncate through multiply.Nick Lewycky1-0/+14
2011-01-19Add a missed SCEV fold that is required to continue analyzing the IR producedNick Lewycky1-0/+14
2011-01-19Add a missing SCEV simplification sext(zext x) --> zext x.Nick Lewycky1-0/+4
2011-01-11some comment improvements.Chris Lattner1-3/+4
2011-01-11Temporarily revert 123133, it's causing some regressions and I'm tryingEric Christopher1-8/+4
2011-01-11the GEP faq says that only inbounds geps are guaranteed to not overflow.Chris Lattner1-2/+3
2011-01-09add a fixme: ir isn't expressive enough.Chris Lattner1-0/+1
2011-01-09Step #4 in improving trip count analysis: HowFarToZero can analyzeChris Lattner1-2/+11
2011-01-09rearrange some code, no functionality change.Chris Lattner1-41/+45
2011-01-09Step #3 to improving trip count analysis: If we foldChris Lattner1-4/+8
2011-01-09Step #2 to improve trip count analysis for loops like this:Chris Lattner1-6/+105
2011-01-09teach SCEV analysis of PHI nodes that PHI recurences formedChris Lattner1-0/+5
2011-01-09reduce indentation. Print <nuw> and <nsw> when dumping SCEV AddRec'sChris Lattner1-49/+54
2010-12-07PR5207: Change APInt methods trunc(), sext(), zext(), sextOrTrunc() andJay Foad1-2/+2
2010-12-01PR5207: Rename overloaded APInt methods set(), clear(), flip() toJay Foad1-1/+1
2010-11-20Simplify code. No change in functionality.Benjamin Kramer1-2/+2
2010-11-19Silence warning about an uninitialized variable.Benjamin Kramer1-1/+1
2010-11-18Factor code for testing whether replacing one value with anotherDuncan Sands1-17/+2
2010-11-18Introduce memoization for ScalarEvolution dominates and properlyDominatesDan Gohman1-58/+56
2010-11-17Factor out the code for purging a SCEV from all the various memoization maps.Dan Gohman1-26/+13
2010-11-17Merge the implementations of isLoopInvariant and hasComputableLoopEvolution, andDan Gohman1-71/+58
2010-11-17Make SCEV::getType() and SCEV::print non-virtual. Move SCEV::hasOperandDan Gohman1-105/+167
2010-11-17Move SCEV::dominates and properlyDominates to ScalarEvolution.Dan Gohman1-58/+91
2010-11-17Move SCEV::isLoopInvariant and hasComputableLoopEvolution to be memberDan Gohman1-81/+135