1; RUN: opt < %s -lowerswitch -S | FileCheck %s 2 3define i32 @test(i32 %arg) #0 { 4; CHECK-LABEL: @test 5; CHECK: 2: 6; CHECK-NEXT: %res.0 = phi i32 [ 1, %NodeBlock ], [ 2, %1 ] 7; CHECK-NEXT: br label %3 8; CHECK: 5: 9; CHECK-NEXT: %res.3 = phi i32 [ 0, %NewDefault ], [ %res.2, %4 ] 10; CHECK-NEXT: %6 = add nsw i32 %res.3, 1 11; CHECK-NEXT: ret i32 %6 12 13 switch i32 %arg, label %5 [ 14 i32 1, label %1 15 i32 2, label %2 16 i32 3, label %3 17 i32 4, label %4 18 ] 19 201: 21 br label %2 22 232: 24 %res.0 = phi i32 [ 1, %0 ], [ 2, %1 ] 25 br label %3 26 273: 28 %res.1 = phi i32 [ 0, %0 ], [ %res.0, %2 ] 29 %phitmp = add nsw i32 %res.1, 2 30 br label %4 31 324: 33 %res.2 = phi i32 [ 1, %0 ], [ %phitmp, %3 ] 34 br label %5 35 365: 37 %res.3 = phi i32 [ 0, %0 ], [ %res.2, %4 ] 38 %6 = add nsw i32 %res.3, 1 39 ret i32 %6 40} 41