diff options
author | Nick Lewycky <nicholas@mxc.ca> | 2011-10-24 06:57:05 +0000 |
---|---|---|
committer | Nick Lewycky <nicholas@mxc.ca> | 2011-10-24 06:57:05 +0000 |
commit | 7c3fc5747284a0c6ca4e370f964082c69b42b8dd (patch) | |
tree | 22fbb227479db4cc3aedf4a6129d57eff6a0085d /lib/Analysis/BranchProbabilityInfo.cpp | |
parent | f46c674a16669518dbb24d4cdd4bfc904dd3b505 (diff) |
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
Diffstat (limited to 'lib/Analysis/BranchProbabilityInfo.cpp')
0 files changed, 0 insertions, 0 deletions