llvm-project/llvm/test/Analysis/ScalarEvolution
Andrew Trick 7fa4e0fea6 SCEV: Add MarkPendingLoopPredicates to avoid recursive isImpliedCond.
getUDivExpr attempts to simplify by checking for overflow.
isLoopEntryGuardedByCond then evaluates the loop predicate which
may lead to the same getUDivExpr causing endless recursion.

Fixes PR12868: clang 3.2 segmentation fault.

llvm-svn: 157092
2012-05-19 00:48:25 +00:00
..
2007-07-15-NegativeStride.ll
2007-08-06-MisinterpretBranch.ll
2007-08-06-Unsigned.ll
2007-09-27-LargeStepping.ll
2007-11-14-SignedAddRec.ll
2007-11-18-OrInstruction.ll
2008-02-11-ReversedCondition.ll
2008-02-12-SMAXTripCount.ll Filecheckize. 2011-11-29 02:05:23 +00:00
2008-02-15-UMax.ll
2008-05-25-NegativeStepToZero.ll
2008-06-12-BinomialInt64.ll
2008-07-12-UnneededSelect1.ll
2008-07-12-UnneededSelect2.ll
2008-07-19-InfiniteLoop.ll
2008-07-19-WrappingIV.ll
2008-07-29-SGTTripCount.ll
2008-07-29-SMinExpr.ll Revert r106304 (105548 and friends), which are the SCEVComplexityCompare 2010-06-18 19:54:20 +00:00
2008-08-04-IVOverflow.ll
2008-08-04-LongAddRec.ll
2008-11-02-QuadraticCrash.ll
2008-11-15-CubicOOM.ll
2008-11-18-LessThanOrEqual.ll ScalarEvolution support for <= and >= loops. 2010-04-24 03:09:42 +00:00
2008-11-18-Stride1.ll
2008-11-18-Stride2.ll Add a comment to this test. 2010-04-26 21:37:43 +00:00
2008-12-08-FiniteSGE.ll ScalarEvolution support for <= and >= loops. 2010-04-24 03:09:42 +00:00
2008-12-11-SMaxOverflow.ll ScalarEvolution support for <= and >= loops. 2010-04-24 03:09:42 +00:00
2008-12-14-StrideAndSigned.ll
2008-12-15-DontUseSDiv.ll
2009-01-02-SignedNegativeStride.ll
2009-04-22-TruncCast.ll
2009-05-09-PointerEdgeCount.ll
2009-07-04-GroupConstantsWidthMismatch.ll
2010-09-03-RequiredTransitive.ll Implement requiredTransitive 2011-01-20 21:03:22 +00:00
2011-03-09-ExactNoMaxBECount.ll When SCEV can determine the loop test is X < X, set ExactBECount=0. 2011-03-09 17:29:58 +00:00
2011-04-26-FoldAddRec.ll Test case and comment for PR9633. 2011-04-27 05:42:17 +00:00
2011-10-04-ConstEvolve.ll Missing test case for r141164. 2011-10-05 06:23:32 +00:00
2012-03-26-LoadConstant.ll SCEV fix: Handle loop invariant loads. 2012-03-26 22:33:59 +00:00
2012-05-18-LoopPredRecurse.ll SCEV: Add MarkPendingLoopPredicates to avoid recursive isImpliedCond. 2012-05-19 00:48:25 +00:00
SolveQuadraticEquation.ll This transform only handles two-operand AddRec's. Prevent it from trying to 2011-09-06 21:42:18 +00:00
and-xor.ll
avoid-infinite-recursion-0.ll
avoid-infinite-recursion-1.ll Remove support for parsing the "type i32" syntax for defining a numbered 2011-06-19 00:03:46 +00:00
avoid-smax-0.ll
avoid-smax-1.ll Test scalar evolution directly instead of testing the result of 2012-03-22 17:09:31 +00:00
div-overflow.ll
do-loop.ll
fold.ll Simplify some code with no functionality change. Make the test a lot more 2011-01-23 20:06:05 +00:00
lit.local.cfg Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed. 2012-02-16 06:28:33 +00:00
load.ll 2>&1 doesn't work here, it just creates an empty file called "&1" 2011-10-27 18:27:45 +00:00
max-trip-count.ll Reapply r140979 with fix! We never did get a testcase, but careful review of the 2011-10-03 07:10:45 +00:00
nsw-offset.ll Revert "SCEV: When expanding a GEP the final addition to the base pointer has NUW but not NSW." 2012-04-17 06:33:57 +00:00
nsw.ll Revert "SCEV: When expanding a GEP the final addition to the base pointer has NUW but not NSW." 2012-04-17 06:33:57 +00:00
pointer-sign-bits.ll
pr3909.ll Remove support for parsing the "type i32" syntax for defining a numbered 2011-06-19 00:03:46 +00:00
scev-aa.ll teach SCEV that the scale and addition of an inbounds gep don't NSW. 2011-02-13 03:14:49 +00:00
sext-inreg.ll
sext-iv-0.ll Propagate SCEV no-wrap flags whenever possible. 2011-03-15 00:37:00 +00:00
sext-iv-1.ll
sext-iv-2.ll
sle.ll ScalarEvolution support for <= and >= loops. 2010-04-24 03:09:42 +00:00
smax.ll
trip-count.ll Remove support for using "foo" as symbols instead of %"foo". This is ancient 2011-06-17 06:36:20 +00:00
trip-count2.ll Remove support for using "foo" as symbols instead of %"foo". This is ancient 2011-06-17 06:36:20 +00:00
trip-count3.ll rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which is 2011-06-18 06:05:24 +00:00
trip-count4.ll
trip-count5.ll
trip-count6.ll
trip-count7.ll
trip-count8.ll
trip-count9.ll
trip-count10.ll Allow "exhaustive" trip count evaluation on phi nodes with all 2010-06-22 13:15:46 +00:00
trip-count11.ll Restore commits 142790 and 142843 - they weren't breaking the build 2011-10-25 12:28:52 +00:00
trip-count12.ll Don't forget to check FlagNW when determining whether an AddRecExpr will wrap 2011-11-09 07:11:37 +00:00
undefined.ll Don't attempt to analyze values which are obviously undef. This fixes some 2010-04-22 01:35:11 +00:00
unreachable-code.ll
unsimplified-loop.ll Generalize ScalarEvolution's PHI analysis to handle loops that don't 2010-04-12 07:49:36 +00:00
xor-and.ll
zext-wrap.ll