62 lines · plain
1; RUN: llvm-reduce --abort-on-invalid-reduction --delta-passes=unreachable-basic-blocks,basic-blocks --test FileCheck --test-arg --check-prefixes=CHECK-INTERESTINGNESS --test-arg %s --test-arg --input-file %s -o %t2; RUN: FileCheck %s < %t3 4 5; CHECK-INTERESTINGNESS: @func(6 7; CHECK-INTERESTINGNESS: store8; CHECK-INTERESTINGNESS: store9; CHECK-INTERESTINGNESS: store10 11 12; CHECK: bb:13; CHECK-NEXT: br i1 %arg1, label %bb3, label %bb714 15; CHECK: bb3: ; preds = %bb16; CHECK-NEXT: br i1 %arg2, label %bb4, label %bb717 18; CHECK: bb4: ; preds = %bb319; CHECK-NEXT: store i32 0, ptr addrspace(1) null, align 420; CHECK-NEXT: ret void21 22; CHECK: bb7: ; preds = %bb3, %bb23; CHECK-NEXT: %i = phi i1 [ false, %bb ], [ true, %bb3 ]24; CHECK-NEXT: store i32 1, ptr addrspace(1) null, align 425; CHECK-NEXT: br label %bb1026 27; CHECK: bb10: ; preds = %bb728; CHECK-NEXT: store i32 2, ptr addrspace(1) null, align 429; CHECK-NEXT: unreachable30define amdgpu_kernel void @func(i1 %arg, i1 %arg1, i1 %arg2) {31bb:32 br i1 %arg1, label %bb3, label %bb733 34bb3: ; preds = %bb35 br i1 %arg2, label %bb4, label %bb736 37bb4: ; preds = %bb338 store i32 0, ptr addrspace(1) null39 br label %bb540 41bb5: ; preds = %bb442 unreachable43 44bb6: ; No predecessors!45 unreachable46 47bb7: ; preds = %bb3, %bb48 %i = phi i1 [ false, %bb ], [ true, %bb3 ]49 store i32 1, ptr addrspace(1) null50 br i1 %arg, label %bb10, label %bb851 52bb8: ; preds = %bb753 br i1 %i, label %bb9, label %bb954 55bb9: ; preds = %bb8, %bb856 unreachable57 58bb10: ; preds = %bb759 store i32 2, ptr addrspace(1) null60 unreachable61}62