aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/ScalarEvolution.cpp
AgeCommit message (Expand)Author
2009-07-16Fill in some holes in ScalarEvolution's loop iteration conditionDan Gohman
2009-07-14Move EVER MORE stuff over to LLVMContext.Owen Anderson
2009-07-14llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.Torok Edwin
2009-07-14Make SCEVCallbackVH::allUsesReplacedWith more thorough in removingDan Gohman
2009-07-14Add a comment about why ScalarEvolution doesn't recognize non-loop PHIsDan Gohman
2009-07-13Move more functionality over to LLVMContext.Owen Anderson
2009-07-13Print a newline after printing a Value, now that Value's operator<<Dan Gohman
2009-07-13Fix a few assertion strings.Dan Gohman
2009-07-13Whitespace cleanups.Dan Gohman
2009-07-13Fix an 80-column violation.Dan Gohman
2009-07-13Reapply 75252, with a fix to avoid the infinite recursion case. TheDan Gohman
2009-07-13Move more functionality over to LLVMContext.Owen Anderson
2009-07-13Move the memoization check for SCEVSignExtendExpr andDan Gohman
2009-07-13Convert SCEV from FoldingSetNode to FastFoldingSetNode. This eliminatesDan Gohman
2009-07-13Begin the painful process of tearing apart the rat'ss nest that is Constants....Owen Anderson
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