|  | ; 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 | 
|  | } |