llvm-6502/test/Analysis/ScalarEvolution
Duncan Sands f8a9eb1fa6 Restore commits 142790 and 142843 - they weren't breaking the build
bots.  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@142919 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-25 12:28:52 +00:00
..
2007-07-15-NegativeStride.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
2007-08-06-MisinterpretBranch.ll
2007-08-06-Unsigned.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
2007-09-27-LargeStepping.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
2007-11-14-SignedAddRec.ll
2007-11-18-OrInstruction.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
2008-02-11-ReversedCondition.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
2008-02-12-SMAXTripCount.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
2008-02-15-UMax.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
2008-05-25-NegativeStepToZero.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
2008-06-12-BinomialInt64.ll
2008-07-12-UnneededSelect1.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
2008-07-12-UnneededSelect2.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
2008-07-19-InfiniteLoop.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
2008-07-19-WrappingIV.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
2008-07-29-SGTTripCount.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
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 -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
2008-08-04-LongAddRec.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
2008-11-02-QuadraticCrash.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
2008-11-15-CubicOOM.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
2008-11-18-LessThanOrEqual.ll ScalarEvolution support for <= and >= loops. 2010-04-24 03:09:42 +00:00
2008-11-18-Stride1.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
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 -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
2008-12-15-DontUseSDiv.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
2009-01-02-SignedNegativeStride.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
2009-04-22-TruncCast.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
2009-05-09-PointerEdgeCount.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
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 -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
avoid-infinite-recursion-0.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
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 -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
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 -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
do-loop.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
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 Restore commits 142790 and 142843 - they weren't breaking the build 2011-10-25 12:28:52 +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 -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
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 -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
sext-iv-0.ll Propagate SCEV no-wrap flags whenever possible. 2011-03-15 00:37:00 +00:00
sext-iv-1.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
sext-iv-2.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
sle.ll ScalarEvolution support for <= and >= loops. 2010-04-24 03:09:42 +00:00
smax.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +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
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 -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
trip-count5.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
trip-count6.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
trip-count7.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
trip-count8.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
trip-count9.ll Fix the the ceiling-division used in computing the MaxBECount so that it doesn't 2010-01-26 04:40:18 +00:00
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-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 Don't attempt to analyze values which are obviously undef. This fixes some 2010-04-22 01:35:11 +00:00
unreachable-code.ll Avoid analyzing instructions in blocks not reachable from the entry block. 2010-03-09 23:46:50 +00:00
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 -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00
zext-wrap.ll -disable-output is no longer needed with -analyze. 2010-01-26 19:25:59 +00:00