llvm-6502/test/Analysis/ScalarEvolution
Duncan Sands 526c80bae4 Speculatively revert commits 142790 and 142843 to see if it fixes
the dragonegg and llvm-gcc self-host buildbots.  Original commit
messages:
- Reapply r142781 with fix. Original message:

  Enhance SCEV's brute force loop analysis to handle multiple PHI nodes in the
  loop header when computing the trip count.

  With this, we now constant evaluate:
    struct ListNode { const struct ListNode *next; int i; };
    static const struct ListNode node1 = {0, 1};
    static const struct ListNode node2 = {&node1, 2};
    static const struct ListNode node3 = {&node2, 3};
    int test() {
      int sum = 0;
      for (const struct ListNode *n = &node3; n != 0; n = n->next)
        sum += n->i;
      return sum;
    }

- Now that we look at all the header PHIs, we need to consider all the header PHIs
when deciding that the loop has stopped evolving. Fixes miscompile in the gcc
torture testsuite!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142916 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-25 09:26:43 +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
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
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
2008-11-18-Stride1.ll
2008-11-18-Stride2.ll
2008-12-08-FiniteSGE.ll
2008-12-11-SMaxOverflow.ll
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
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 This test only makes sense with -enable-iv-rewrite. 2011-09-13 02:45:26 +00:00
dg.exp
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
load.ll Speculatively revert commits 142790 and 142843 to see if it fixes 2011-10-25 09:26:43 +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 Propagate SCEV no-wrap flags whenever possible. 2011-03-15 00:37:00 +00:00
nsw.ll Propagate SCEV no-wrap flags whenever possible. 2011-03-15 00:37:00 +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
smax.ll
SolveQuadraticEquation.ll This transform only handles two-operand AddRec's. Prevent it from trying to 2011-09-06 21:42:18 +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
trip-count.ll Remove support for using "foo" as symbols instead of %"foo". This is ancient 2011-06-17 06:36:20 +00:00
undefined.ll
unreachable-code.ll
unsimplified-loop.ll
xor-and.ll
zext-wrap.ll