Nick Lewycky
7c3fc57472
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;
}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142790 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-24 06:57:05 +00:00
..
2010-01-26 19:25:59 +00:00
2009-09-11 18:01:28 +00:00
2010-01-26 19:25:59 +00:00
2010-01-26 19:25:59 +00:00
2009-09-11 18:01:28 +00:00
2010-01-26 19:25:59 +00:00
2010-01-26 19:25:59 +00:00
2010-01-26 19:25:59 +00:00
2010-01-26 19:25:59 +00:00
2010-01-26 19:25:59 +00:00
2009-09-11 18:01:28 +00:00
2010-01-26 19:25:59 +00:00
2010-01-26 19:25:59 +00:00
2010-01-26 19:25:59 +00:00
2010-01-26 19:25:59 +00:00
2010-01-26 19:25:59 +00:00
2010-06-18 19:54:20 +00:00
2010-01-26 19:25:59 +00:00
2010-01-26 19:25:59 +00:00
2010-01-26 19:25:59 +00:00
2010-01-26 19:25:59 +00:00
2010-04-24 03:09:42 +00:00
2010-01-26 19:25:59 +00:00
2010-04-26 21:37:43 +00:00
2010-04-24 03:09:42 +00:00
2010-04-24 03:09:42 +00:00
2010-01-26 19:25:59 +00:00
2010-01-26 19:25:59 +00:00
2010-01-26 19:25:59 +00:00
2010-01-26 19:25:59 +00:00
2010-01-26 19:25:59 +00:00
2009-09-11 18:01:28 +00:00
2011-01-20 21:03:22 +00:00
2011-03-09 17:29:58 +00:00
2011-04-27 05:42:17 +00:00
2011-10-05 06:23:32 +00:00
2010-01-26 19:25:59 +00:00
2010-01-26 19:25:59 +00:00
2011-06-19 00:03:46 +00:00
2010-01-26 19:25:59 +00:00
2011-09-13 02:45:26 +00:00
2007-04-15 09:31:07 +00:00
2010-01-26 19:25:59 +00:00
2010-01-26 19:25:59 +00:00
2011-01-23 20:06:05 +00:00
2011-10-24 06:57:05 +00:00
2011-10-03 07:10:45 +00:00
2011-03-15 00:37:00 +00:00
2011-03-15 00:37:00 +00:00
2010-01-26 19:25:59 +00:00
2011-06-19 00:03:46 +00:00
2011-02-13 03:14:49 +00:00
2010-01-26 19:25:59 +00:00
2011-03-15 00:37:00 +00:00
2010-01-26 19:25:59 +00:00
2010-01-26 19:25:59 +00:00
2010-04-24 03:09:42 +00:00
2010-01-26 19:25:59 +00:00
2011-09-06 21:42:18 +00:00
2011-06-17 06:36:20 +00:00
2011-06-18 06:05:24 +00:00
2010-01-26 19:25:59 +00:00
2010-01-26 19:25:59 +00:00
2010-01-26 19:25:59 +00:00
2010-01-26 19:25:59 +00:00
2010-01-26 19:25:59 +00:00
2010-01-26 04:40:18 +00:00
2010-06-22 13:15:46 +00:00
2011-06-17 06:36:20 +00:00
2010-04-22 01:35:11 +00:00
2010-03-09 23:46:50 +00:00
2010-04-12 07:49:36 +00:00
2010-01-26 19:25:59 +00:00
2010-01-26 19:25:59 +00:00