aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Analysis/ScalarEvolution.cpp
Commit message (Expand)AuthorAgeFilesLines
* Added isValidRewrite() to check the result of ScalarEvolutionExpander.Andrew Trick2011-03-171-0/+30
* Remove getMinusSCEVForExitTest().Andrew Trick2011-03-151-106/+3
* Propagate SCEV no-wrap flags whenever possible.Andrew Trick2011-03-151-60/+72
* Negating a recurrence preserves no-self-wrap.Andrew Trick2011-03-141-0/+11
* HowFarToZero can compute a trip count as long as the recurrence has no-self-w...Andrew Trick2011-03-141-16/+20
* Added SCEV::NoWrapFlags to manage unsigned, signed, and self wrapAndrew Trick2011-03-141-126/+187
* When SCEV can determine the loop test is X < X, set ExactBECount=0.Andrew Trick2011-03-091-1/+17
* whitespaceAndrew Trick2011-03-091-18/+18
* teach SCEV that the scale and addition of an inbounds gep don't NSW.Chris Lattner2011-02-131-2/+5
* Per discussion with Dan G, inbounds geps *certainly* can haveChris Lattner2011-02-111-3/+14
* Fix memory corruption. If one of the SCEV creation functions calls another butNick Lewycky2011-01-261-0/+2
* Add a comment.Dan Gohman2011-01-241-0/+1
* Simplify some code with no functionality change. Make the test a lot moreNick Lewycky2011-01-231-12/+4
* Use value ranges to fold ext(trunc) in SCEV when possible.Nick Lewycky2011-01-231-0/+34
* Have SCEV turn sext(x) into zext(x) when x is s>= 0. This applies many times inNick Lewycky2011-01-221-0/+4
* Similarly, analyze truncate through multiply.Nick Lewycky2011-01-191-0/+14
* Add a missed SCEV fold that is required to continue analyzing the IR producedNick Lewycky2011-01-191-0/+14
* Add a missing SCEV simplification sext(zext x) --> zext x.Nick Lewycky2011-01-191-0/+4
* some comment improvements.Chris Lattner2011-01-111-3/+4
* Temporarily revert 123133, it's causing some regressions and I'm tryingEric Christopher2011-01-111-8/+4
* the GEP faq says that only inbounds geps are guaranteed to not overflow.Chris Lattner2011-01-111-2/+3
* add a fixme: ir isn't expressive enough.Chris Lattner2011-01-091-0/+1
* Step #4 in improving trip count analysis: HowFarToZero can analyzeChris Lattner2011-01-091-2/+11
* rearrange some code, no functionality change.Chris Lattner2011-01-091-41/+45
* Step #3 to improving trip count analysis: If we foldChris Lattner2011-01-091-4/+8
* Step #2 to improve trip count analysis for loops like this:Chris Lattner2011-01-091-6/+105
* teach SCEV analysis of PHI nodes that PHI recurences formedChris Lattner2011-01-091-0/+5
* reduce indentation. Print <nuw> and <nsw> when dumping SCEV AddRec'sChris Lattner2011-01-091-49/+54
* PR5207: Change APInt methods trunc(), sext(), zext(), sextOrTrunc() andJay Foad2010-12-071-2/+2
* PR5207: Rename overloaded APInt methods set(), clear(), flip() toJay Foad2010-12-011-1/+1
* Simplify code. No change in functionality.Benjamin Kramer2010-11-201-2/+2
* Silence warning about an uninitialized variable.Benjamin Kramer2010-11-191-1/+1
* Factor code for testing whether replacing one value with anotherDuncan Sands2010-11-181-17/+2
* Introduce memoization for ScalarEvolution dominates and properlyDominatesDan Gohman2010-11-181-58/+56
* Factor out the code for purging a SCEV from all the various memoization maps.Dan Gohman2010-11-171-26/+13
* Merge the implementations of isLoopInvariant and hasComputableLoopEvolution, andDan Gohman2010-11-171-71/+58
* Make SCEV::getType() and SCEV::print non-virtual. Move SCEV::hasOperandDan Gohman2010-11-171-105/+167
* Move SCEV::dominates and properlyDominates to ScalarEvolution.Dan Gohman2010-11-171-58/+91
* Move SCEV::isLoopInvariant and hasComputableLoopEvolution to be memberDan Gohman2010-11-171-81/+135
* Before replacing a phi node with a different value, itDuncan Sands2010-11-171-11/+15
* Verify SCEVAddRecExpr's invariant in ScalarEvolution::getAddRecExprDan Gohman2010-11-171-0/+3
* Fix ScalarEvolution's range memoization to avoid using aDan Gohman2010-11-171-44/+43
* Have ScalarEvolution use SimplifyInstruction rather than hasConstantValue.Duncan Sands2010-11-171-1/+5
* Memoize results from ScalarEvolution's getUnsignedRange and getSignedRange.Dan Gohman2010-11-171-43/+80
* Make ScalarEvolution::forgetLoop forget all contained loops too, becauseDan Gohman2010-10-291-0/+5
* Get rid of static constructors for pass registration. Instead, every pass ex...Owen Anderson2010-10-191-0/+1
* Begin adding static dependence information to passes, which will allow us toOwen Anderson2010-10-121-1/+5
* Now with fewer extraneous semicolons!Owen Anderson2010-10-071-1/+1
* Don't add the operand count to SCEV uniquing data; FoldingSetNodeIDDan Gohman2010-10-041-5/+0
* Reapply r112432, now that the real problem is addressed.Dan Gohman2010-08-311-4/+9