blob: 7eabc09cd7da80e3e98c5f5f07bd603abc858418 [file] [log] [blame]
Cameron Zwarich4a60b932011-02-10 23:38:10 +00001; RUN: opt -loop-simplify -S < %s | FileCheck %s
Dan Gohmanc2f40062010-08-14 00:43:09 +00002
3; LoopSimplify shouldn't split loop backedges that use indirectbr.
4
5; CHECK: bb1: ; preds = %bb5, %bb
6; CHECK-NEXT: indirectbr
7
8; CHECK: bb5: ; preds = %bb1
9; CHECK-NEXT: br label %bb1{{$}}
10
11define void @foo(i8* %p) nounwind {
12bb:
13 br label %bb1
14
15bb1: ; preds = %bb5, %bb1, %bb
16 indirectbr i8* %p, [label %bb6, label %bb7, label %bb1, label %bb2, label %bb3, label %bb5, label %bb4]
17
18bb2: ; preds = %bb1
19 ret void
20
21bb3: ; preds = %bb1
22 ret void
23
24bb4: ; preds = %bb1
25 ret void
26
27bb5: ; preds = %bb1
28 br label %bb1
29
30bb6: ; preds = %bb1
31 ret void
32
33bb7: ; preds = %bb1
34 ret void
35}