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 | 0bf086f80f92d749a5c21e7d94f787028c1a2c22 (patch) | |
| tree | 009ba39e7c7705dafb17addf34039da368f6b9d0 /llvm/test/Transforms | |
| parent | b7f5fb5751eb112e41a64a8cc1b74e637e590b7a (diff) | |
| download | bcm5719-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/Transforms')
| -rw-r--r-- | llvm/test/Transforms/LoopUnroll/runtime-loop.ll | 6 |
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: |

