aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/ScalarEvolution.cpp
AgeCommit message (Expand)Author
2009-07-11Revert r75252 which was causing some crashes at compile time.Nick Lewycky
2009-07-11assert(0) -> LLVM_UNREACHABLE.Torok Edwin
2009-07-10Remove ScalarEvolution::hasSCEV, which isn't being used, and whichDan Gohman
2009-07-10Generalize ScalarEvolution's cast-folding code to support more kindsDan Gohman
2009-07-08Make the code that updates ScalarEvolution's internal state in responseDan Gohman
2009-07-07Change all SCEV* to SCEV *.Dan Gohman
2009-07-06"LLVMContext* " --> "LLVMContext *"Owen Anderson
2009-07-06Finish LLVMContext-ing lib/Analysis. This required pushing LLVMContext's thr...Owen Anderson
2009-07-06Thread LLVMContext through the constant folding APIs, which touches a lot of ...Owen Anderson
2009-07-04When comparing constants, consider a less wide constant to be "less complex"Nick Lewycky
2009-06-30Minor code cleanups.Dan Gohman
2009-06-29Use getSCEV instead of getUnknown to create a SCEV for aDan Gohman
2009-06-29Don't cache PHI exit values from exhaustive evaluations, becauseDan Gohman
2009-06-29Simplify this code, and avoid using APInt(). This fixesDan Gohman
2009-06-27Convert ScalarEvolution to use BumpPtrAllocator and FoldingSet, insteadDan Gohman
2009-06-26Fix ScalarEvolution::getAddRecExpr's code which canonicalized theDan Gohman
2009-06-26Fix SCEVAddRecExpr::isLoopInvariant to test if all of its operandsDan Gohman
2009-06-24Minor whitespace cleanups.Dan Gohman
2009-06-24Simplify [su]max(MAX, n) to MAX. This comes up in loop tripcountDan Gohman
2009-06-24Delete some orphaned comments, fix some 80-column violations,Dan Gohman
2009-06-24Extend ScalarEvolution's multiple-exit support to compute exactDan Gohman
2009-06-24Teach GetMinSignBits about SCEVAddExprs.Dan Gohman
2009-06-24Move the special cases for constants out of getUnknown and intoDan Gohman
2009-06-24Use ScalarEvolution::getConstant instead of getUnknown to createDan Gohman
2009-06-24Include the maximum trip count expression in ScalarEvolution's print output.Dan Gohman
2009-06-24Add an isAllOnesValue utility function, similar to isZero and isOne.Dan Gohman
2009-06-22Fix a bug in the trip-count computation with And/Or. If either of theDan Gohman
2009-06-22Remove the parent pointer from SCEV, since it did not end up being needed.Owen Anderson
2009-06-22SCEVHandle is no more!Owen Anderson
2009-06-22Fix some typos that Duncan noticed.Dan Gohman
2009-06-22Banish global state from ScalarEvolution! SCEV uniquing is now done by table...Owen Anderson
2009-06-22Make use of getUMinFromMismatchedTypes when computing backedge-takenDan Gohman
2009-06-22Add a getUMinFromMismatchedTypes helper function.Dan Gohman
2009-06-22Factor out code for computing umin and smin for SCEV expressions intoDan Gohman
2009-06-22Teach ScalarEvolution how to analyze loops with multiple exitDan Gohman
2009-06-22Delete an unused variable.Dan Gohman
2009-06-21Fix ScalarEvolution's backedge-taken count computations to check forDan Gohman
2009-06-20Generalize isLoopGuardedByCond's checking to consider twoDan Gohman
2009-06-20Use ScalarEvolution's new GetMinSignBits and GetMinLeadingZerosDan Gohman
2009-06-19Make GetMinTrailingZeros a member function of ScalarEvolution,Dan Gohman
2009-06-19Make ScalarEvolution::print print getSCEVAtScope values forDan Gohman
2009-06-18Add a parent pointer to SCEV, in preparation for getting rid of the global un...Owen Anderson
2009-06-18Recognize n != 0 ? n : 1 as umax(n, 1). Previously only ULT/UGT/ULE/UGEDan Gohman
2009-06-18Update a comment to reflect the code.Dan Gohman
2009-06-18Fix trailing whitespace from ScalarEvolution::print.Dan Gohman
2009-06-18Teach ScalarEvolution how to recognize another xor(and(x, C), C) case.Dan Gohman
2009-06-17Delete unnecessary braces.Dan Gohman
2009-06-17Fix ScalarEvolution's Xor handling to not assume that an AndDan Gohman
2009-06-16Instcombine's ShrinkDemandedConstant may strip bits out of constants,Dan Gohman
2009-06-15Support vector casts in more places, fixing a variety of assertionDan Gohman