41 lines · plain
1; RUN: opt -S -passes=lower-switch %s | FileCheck %s2 3; CHECK-LABEL: @phi_in_dead_block(4; CHECK-NOT: switch5define void @phi_in_dead_block(i1 %arg) {6bb:7 br i1 %arg, label %bb2, label %bb38 9bb1: ; No predecessors!10 switch i32 undef, label %bb2 [11 i32 9, label %bb312 ]13 14bb2: ; preds = %bb1, %bb15 %tmp = phi i64 [ undef, %bb1 ], [ undef, %bb ]16 unreachable17 18bb3: ; preds = %bb1, %bb19 unreachable20}21 22; CHECK-LABEL: @phi_in_dead_block_br_to_self(23; CHECK-NOT: switch24define void @phi_in_dead_block_br_to_self(i1 %arg) {25bb:26 br i1 %arg, label %bb2, label %bb327 28bb1: ; No predecessors!29 switch i32 undef, label %bb2 [30 i32 9, label %bb331 i32 10, label %bb132 ]33 34bb2: ; preds = %bb1, %bb35 %tmp = phi i64 [ undef, %bb1 ], [ undef, %bb ]36 unreachable37 38bb3: ; preds = %bb1, %bb39 unreachable40}41