42 lines · plain
1; RUN: opt < %s -S -passes="loop-mssa(simple-loop-unswitch)" -verify-loop-info -verify-dom-info -verify-memoryssa | FileCheck %s2; PR12343: -passes=simple-loop-unswitch crash on indirect branch3 4; CHECK: %0 = icmp eq i64 undef, 05; CHECK-NEXT: br i1 %0, label %"5", label %"4"6 7; CHECK: "5": ; preds = %entry8; CHECK-NEXT: br label %"16"9 10; CHECK: "16": ; preds = %"22", %"5"11; CHECK-NEXT: indirectbr ptr undef, [label %"22", label %"33"]12 13; CHECK: "22": ; preds = %"16"14; CHECK-NEXT: br i1 %0, label %"16", label %"26"15 16; CHECK: "26": ; preds = %"22"17; CHECK-NEXT: unreachable18 19define void @foo() {20entry:21 %0 = icmp eq i64 undef, 022 br i1 %0, label %"5", label %"4"23 24"4": ; preds = %entry25 unreachable26 27"5": ; preds = %entry28 br label %"16"29 30"16": ; preds = %"22", %"5"31 indirectbr ptr undef, [label %"22", label %"33"]32 33"22": ; preds = %"16"34 br i1 %0, label %"16", label %"26"35 36"26": ; preds = %"22"37 unreachable38 39"33": ; preds = %"16"40 unreachable41}42