1; RUN: llvm-reduce --abort-on-invalid-reduction --delta-passes=basic-blocks --test FileCheck --test-arg --check-prefixes=CHECK-INTERESTINGNESS --test-arg %s --test-arg --input-file %s -o %t 2; RUN: FileCheck %s < %t 3 4; CHECK-INTERESTINGNESS: store i32 0, 5; CHECK-INTERESTINGNESS: store i32 1, 6 7; CHECK: bb: 8; CHECK-NEXT: br label %bb10 9 10; CHECK: bb10: 11; CHECK-NEXT: br label %bb11 12 13; CHECK: bb11: 14; CHECK-NEXT: br label %bb12 15 16; CHECK: bb12: 17; CHECK-NEXT: switch i32 %arg, label %bb13 [ 18; CHECK-NEXT: i32 1, label %bb13 19; CHECK-NEXT: i32 0, label %bb18 20; CHECK-NEXT: ] 21 22; CHECK: bb13: 23; CHECK-NEXT: br label %bb17 24 25; CHECK: bb17: 26; CHECK-NEXT: store i32 0 27; CHECK-NEXT: br label %bb17 28 29; CHECK: bb18: 30; CHECK-NEXT: store i32 1 31; CHECK-NEXT: br label %bb18 32define amdgpu_kernel void @wibble(i32 %arg, i1 %arg1, i1 %arg2) { 33bb: 34 br label %bb10 35 36bb10: ; preds = %bb 37 br label %bb11 38 39bb11: ; preds = %bb10 40 br label %bb12 41 42bb12: ; preds = %bb11 43 switch i32 %arg, label %bb13 [ 44 i32 1, label %bb13 45 i32 0, label %bb18 46 ] 47 48bb13: ; preds = %bb12, %bb12 49 br i1 %arg1, label %bb14, label %bb17 50 51bb14: ; preds = %bb15, %bb13 52 %tmp = phi i32 [ 0, %bb15 ], [ 0, %bb13 ] 53 br label %bb15 54 55bb15: ; preds = %bb14 56 %tmp16 = zext i32 %tmp to i64 57 br i1 %arg2, label %bb17, label %bb14 58 59bb17: ; preds = %bb17, %bb15, %bb13 60 store i32 0, ptr addrspace(3) null 61 br label %bb17 62 63bb18: ; preds = %bb18, %bb12 64 store i32 1, ptr addrspace(3) null 65 br label %bb18 66} 67