diff options
author | Dan Gohman <gohman@apple.com> | 2010-08-14 00:43:09 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2010-08-14 00:43:09 +0000 |
commit | c2f40066bbceb15e73e5c4df97d2d115f8a36e58 (patch) | |
tree | 93c041e5b2138282ddff505c6a1a0596c2d13071 /test | |
parent | e2c6d131d12c779a410740e0a90545def75e0f48 (diff) | |
download | llvm-c2f40066bbceb15e73e5c4df97d2d115f8a36e58.tar.gz llvm-c2f40066bbceb15e73e5c4df97d2d115f8a36e58.tar.bz2 llvm-c2f40066bbceb15e73e5c4df97d2d115f8a36e58.tar.xz |
LoopSimplify shouldn't split loop backedges that use indirectbr. PR7867.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111061 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/Transforms/LoopSimplify/indirectbr-backedge.ll | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/test/Transforms/LoopSimplify/indirectbr-backedge.ll b/test/Transforms/LoopSimplify/indirectbr-backedge.ll new file mode 100644 index 0000000000..ca6e47fcec --- /dev/null +++ b/test/Transforms/LoopSimplify/indirectbr-backedge.ll @@ -0,0 +1,35 @@ +; RUN: opt -loopsimplify -S < %s | FileCheck %s + +; LoopSimplify shouldn't split loop backedges that use indirectbr. + +; CHECK: bb1: ; preds = %bb5, %bb +; CHECK-NEXT: indirectbr + +; CHECK: bb5: ; preds = %bb1 +; CHECK-NEXT: br label %bb1{{$}} + +define void @foo(i8* %p) nounwind { +bb: + br label %bb1 + +bb1: ; preds = %bb5, %bb1, %bb + indirectbr i8* %p, [label %bb6, label %bb7, label %bb1, label %bb2, label %bb3, label %bb5, label %bb4] + +bb2: ; preds = %bb1 + ret void + +bb3: ; preds = %bb1 + ret void + +bb4: ; preds = %bb1 + ret void + +bb5: ; preds = %bb1 + br label %bb1 + +bb6: ; preds = %bb1 + ret void + +bb7: ; preds = %bb1 + ret void +} |