|  | ; RUN: opt < %s -S -loop-unswitch -verify-loop-info -verify-dom-info | FileCheck %s | 
|  | ; RUN: opt < %s -S -loop-unswitch -verify-loop-info -verify-dom-info -enable-mssa-loop-dependency=true -verify-memoryssa | FileCheck %s | 
|  | ; PR12343: -loop-unswitch crash on indirect branch | 
|  |  | 
|  | ; CHECK:       %0 = icmp eq i64 undef, 0 | 
|  | ; CHECK-NEXT:  br i1 %0, label %"5", label %"4" | 
|  |  | 
|  | ; CHECK:       "5":                                              ; preds = %entry | 
|  | ; CHECK-NEXT:  br label %"16" | 
|  |  | 
|  | ; CHECK:       "16":                                             ; preds = %"22", %"5" | 
|  | ; CHECK-NEXT:  indirectbr i8* undef, [label %"22", label %"33"] | 
|  |  | 
|  | ; CHECK:       "22":                                             ; preds = %"16" | 
|  | ; CHECK-NEXT:  br i1 %0, label %"16", label %"26" | 
|  |  | 
|  | ; CHECK:       "26":                                             ; preds = %"22" | 
|  | ; CHECK-NEXT:  unreachable | 
|  |  | 
|  | define void @foo() { | 
|  | entry: | 
|  | %0 = icmp eq i64 undef, 0 | 
|  | br i1 %0, label %"5", label %"4" | 
|  |  | 
|  | "4":                                              ; preds = %entry | 
|  | unreachable | 
|  |  | 
|  | "5":                                              ; preds = %entry | 
|  | br label %"16" | 
|  |  | 
|  | "16":                                             ; preds = %"22", %"5" | 
|  | indirectbr i8* undef, [label %"22", label %"33"] | 
|  |  | 
|  | "22":                                             ; preds = %"16" | 
|  | br i1 %0, label %"16", label %"26" | 
|  |  | 
|  | "26":                                             ; preds = %"22" | 
|  | unreachable | 
|  |  | 
|  | "33":                                             ; preds = %"16" | 
|  | unreachable | 
|  | } |