diff options
author | Sanjoy Das <sanjoy@playingwithpointers.com> | 2014-10-15 19:25:28 +0000 |
---|---|---|
committer | Sanjoy Das <sanjoy@playingwithpointers.com> | 2014-10-15 19:25:28 +0000 |
commit | 90c2f1455ae1e88aa31e68f4e7cdcdf955c945ed (patch) | |
tree | add8f3ca67de38efd5a3ee5741212f281e41f196 /llvm/test/Transforms/IndVarSimplify/widen-loop-comp.ll | |
parent | 74cd020fcaa1e5abd31fcbad1c0be0319a3bf790 (diff) | |
download | bcm5719-llvm-90c2f1455ae1e88aa31e68f4e7cdcdf955c945ed.tar.gz bcm5719-llvm-90c2f1455ae1e88aa31e68f4e7cdcdf955c945ed.zip |
Teach ScalarEvolution to sharpen range information.
If x is known to have the range [a, b) in a loop predicated by (icmp
ne x, a), its range can be sharpened to [a + 1, b). Get
ScalarEvolution and hence IndVars to exploit this fact.
This change triggers an optimization to widen-loop-comp.ll, so it had
to be edited to get it to pass.
phabricator: http://reviews.llvm.org/D5639
llvm-svn: 219834
Diffstat (limited to 'llvm/test/Transforms/IndVarSimplify/widen-loop-comp.ll')
-rw-r--r-- | llvm/test/Transforms/IndVarSimplify/widen-loop-comp.ll | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/llvm/test/Transforms/IndVarSimplify/widen-loop-comp.ll b/llvm/test/Transforms/IndVarSimplify/widen-loop-comp.ll index bfe74afe894..0930a0c4139 100644 --- a/llvm/test/Transforms/IndVarSimplify/widen-loop-comp.ll +++ b/llvm/test/Transforms/IndVarSimplify/widen-loop-comp.ll @@ -67,8 +67,7 @@ for.end: define void @test2([8 x i8]* %a, i8* %b, i8 %limit) { entry: %conv = zext i8 %limit to i32 - %cmp23 = icmp eq i8 %limit, 0 - br i1 %cmp23, label %for.cond1.preheader, label %for.cond1.preheader.us + br i1 undef, label %for.cond1.preheader, label %for.cond1.preheader.us for.cond1.preheader.us: %storemerge5.us = phi i32 [ 0, %entry ], [ %inc14.us, %for.inc13.us ] |