; RUN: opt -loop-simplify -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 }