summaryrefslogtreecommitdiffstats
path: root/llvm/test/Analysis/ScalarEvolution
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2014-11-16 07:30:35 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2014-11-16 07:30:35 +0000
commit0df1d1247614a0f3b94e00ac7e54665af4395620 (patch)
tree969eeb4dcd85560e3b022bd473693ad0db5f90af /llvm/test/Analysis/ScalarEvolution
parent5854e9fae8cd340ee6b6f1150809a0fb5908838e (diff)
downloadbcm5719-llvm-0df1d1247614a0f3b94e00ac7e54665af4395620.tar.gz
bcm5719-llvm-0df1d1247614a0f3b94e00ac7e54665af4395620.zip
ScalarEvolution: HowFarToZero was wrongly using signed division
HowFarToZero was supposed to use unsigned division in order to calculate the backedge taken count. However, SCEVDivision::divide performs signed division. Unless I am mistaken, no users of SCEVDivision actually want signed arithmetic: switch to udiv and urem. This fixes PR21578. llvm-svn: 222093
Diffstat (limited to 'llvm/test/Analysis/ScalarEvolution')
-rw-r--r--llvm/test/Analysis/ScalarEvolution/trip-count-pow2.ll4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/test/Analysis/ScalarEvolution/trip-count-pow2.ll b/llvm/test/Analysis/ScalarEvolution/trip-count-pow2.ll
index 12d89ae4b65..2c5b72e49da 100644
--- a/llvm/test/Analysis/ScalarEvolution/trip-count-pow2.ll
+++ b/llvm/test/Analysis/ScalarEvolution/trip-count-pow2.ll
@@ -48,6 +48,6 @@ exit:
ret void
; CHECK-LABEL: @test3
-; CHECK: Loop %loop: backedge-taken count is ((-96 + (96 * %n)) /u 96)
-; CHECK: Loop %loop: max backedge-taken count is ((-96 + (96 * %n)) /u 96)
+; CHECK: Loop %loop: Unpredictable backedge-taken count.
+; CHECK: Loop %loop: Unpredictable max backedge-taken count.
}
OpenPOWER on IntegriCloud