summaryrefslogtreecommitdiffstats
path: root/llvm/test
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
commit0bf086f80f92d749a5c21e7d94f787028c1a2c22 (patch)
tree009ba39e7c7705dafb17addf34039da368f6b9d0 /llvm/test
parentb7f5fb5751eb112e41a64a8cc1b74e637e590b7a (diff)
downloadbcm5719-llvm-0bf086f80f92d749a5c21e7d94f787028c1a2c22.tar.gz
bcm5719-llvm-0bf086f80f92d749a5c21e7d94f787028c1a2c22.zip
LoopUnrollRuntime: Check for overflow in the trip count calculation.
Fixes PR19823. llvm-svn: 211436
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/Transforms/LoopUnroll/runtime-loop.ll6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/test/Transforms/LoopUnroll/runtime-loop.ll b/llvm/test/Transforms/LoopUnroll/runtime-loop.ll
index d8bbea9f107..a14087dcdce 100644
--- a/llvm/test/Transforms/LoopUnroll/runtime-loop.ll
+++ b/llvm/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:
OpenPOWER on IntegriCloud