diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2014-06-21 13:46:25 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2014-06-21 13:46:25 +0000 |
commit | 6b7ff6be9c1bcf8ce440c7f1c7646fbf059562e4 (patch) | |
tree | d40624357f7092d90efcaede189759dc4125f241 /test/Transforms | |
parent | 636a9bece43b3f10c27fb1260467fdc3cf989ea1 (diff) | |
download | llvm-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.ll | 6 |
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: |