36 lines · plain
1; RUN: opt -passes=loop-simplify -S < %s | FileCheck %s2 3; LoopSimplify shouldn't split loop backedges that use indirectbr.4 5; CHECK: bb1: ; preds = %bb5, %bb6; CHECK-NEXT: indirectbr7 8; CHECK: bb5: ; preds = %bb19; CHECK-NEXT: br label %bb1{{$}}10 11define void @foo(ptr %p) nounwind {12bb:13 br label %bb114 15bb1: ; preds = %bb5, %bb1, %bb16 indirectbr ptr %p, [label %bb6, label %bb7, label %bb1, label %bb2, label %bb3, label %bb5, label %bb4]17 18bb2: ; preds = %bb119 ret void20 21bb3: ; preds = %bb122 ret void23 24bb4: ; preds = %bb125 ret void26 27bb5: ; preds = %bb128 br label %bb129 30bb6: ; preds = %bb131 ret void32 33bb7: ; preds = %bb134 ret void35}36