diff options
Diffstat (limited to 'llvm/test/Transforms/LoopUnroll/not-rotated.ll')
-rw-r--r-- | llvm/test/Transforms/LoopUnroll/not-rotated.ll | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/llvm/test/Transforms/LoopUnroll/not-rotated.ll b/llvm/test/Transforms/LoopUnroll/not-rotated.ll new file mode 100644 index 00000000000..ffe80920d94 --- /dev/null +++ b/llvm/test/Transforms/LoopUnroll/not-rotated.ll @@ -0,0 +1,26 @@ +; PR28103 +; Bail out if the two successors are not the header +; and another bb outside of the loop. This case is not +; properly handled by LoopUnroll, currently. + +; RUN: opt -loop-unroll -verify-dom-info %s +; REQUIRE: asserts + +define void @tinkywinky(i1 %patatino) { +entry: + br label %header1 +header1: + %indvars.iv = phi i64 [ 1, %body2 ], [ 0, %entry ] + %exitcond = icmp ne i64 %indvars.iv, 1 + br i1 %exitcond, label %body1, label %exit +body1: + br i1 %patatino, label %body2, label %sink +body2: + br i1 %patatino, label %header1, label %body3 +body3: + br label %sink +sink: + br label %body2 +exit: + ret void +} |