summaryrefslogtreecommitdiff
path: root/test/Transforms
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2014-06-21 13:46:25 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2014-06-21 13:46:25 +0000
commit6b7ff6be9c1bcf8ce440c7f1c7646fbf059562e4 (patch)
treed40624357f7092d90efcaede189759dc4125f241 /test/Transforms
parent636a9bece43b3f10c27fb1260467fdc3cf989ea1 (diff)
downloadllvm-6b7ff6be9c1bcf8ce440c7f1c7646fbf059562e4.tar.gz
llvm-6b7ff6be9c1bcf8ce440c7f1c7646fbf059562e4.tar.bz2
llvm-6b7ff6be9c1bcf8ce440c7f1c7646fbf059562e4.tar.xz
LoopUnrollRuntime: Check for overflow in the trip count calculation.
Fixes PR19823. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211436 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms')
-rw-r--r--test/Transforms/LoopUnroll/runtime-loop.ll6
1 files changed, 6 insertions, 0 deletions
diff --git a/test/Transforms/LoopUnroll/runtime-loop.ll b/test/Transforms/LoopUnroll/runtime-loop.ll
index d8bbea9f10..a14087dcdc 100644
--- a/test/Transforms/LoopUnroll/runtime-loop.ll
+++ b/test/Transforms/LoopUnroll/runtime-loop.ll
@@ -2,6 +2,12 @@
; Tests for unrolling loops with run-time trip counts
+; CHECK: %xtraiter = and i32 %n
+; CHECK: %lcmp.mod = icmp ne i32 %xtraiter, 0
+; CHECK: %lcmp.overflow = icmp eq i32 %n, 0
+; CHECK: %lcmp.or = or i1 %lcmp.overflow, %lcmp.mod
+; CHECK: br i1 %lcmp.or, label %unr.cmp
+
; CHECK: unr.cmp{{.*}}:
; CHECK: for.body.unr{{.*}}:
; CHECK: for.body: