| ; RUN: llvm-reduce --abort-on-invalid-reduction --delta-passes=operands-zero --test FileCheck --test-arg %s --test-arg --input-file %s -o %t |
| ; RUN: FileCheck --check-prefixes=CHECK,ZERO %s < %t |
| |
| ; RUN: llvm-reduce --abort-on-invalid-reduction --delta-passes=operands-one --test FileCheck --test-arg %s --test-arg --input-file %s -o %t |
| ; RUN: FileCheck --check-prefixes=CHECK,ONE %s < %t |
| |
| ; RUN: llvm-reduce --abort-on-invalid-reduction --delta-passes=operands-poison --test FileCheck --test-arg %s --test-arg --input-file %s -o %t |
| ; RUN: FileCheck --check-prefixes=CHECK,POISON %s < %t |
| |
| declare void @uses_ext_ty(target("sometarget.sometype")) |
| |
| ; TODO: Should support reduce to poison |
| ; CHECK-LABEL: @foo( |
| ; ZERO: call void @uses_ext_ty(target("sometarget.sometype") %arg) |
| ; ONE: call void @uses_ext_ty(target("sometarget.sometype") %arg) |
| ; POISON: call void @uses_ext_ty(target("sometarget.sometype") poison) |
| define void @foo(target("sometarget.sometype") %arg) { |
| call void @uses_ext_ty(target("sometarget.sometype") %arg) |
| ret void |
| } |
| |
| declare void @uses_zeroinit_ext_ty(target("sometarget.sometype")) |
| |
| ; CHECK-LABEL: @bar( |
| ; ZERO: call void @uses_zeroinit_ext_ty(target("spirv.sometype") zeroinitializer) |
| ; ONE: call void @uses_zeroinit_ext_ty(target("spirv.sometype") %arg) |
| ; POISON: call void @uses_zeroinit_ext_ty(target("spirv.sometype") poison) |
| define void @bar(target("spirv.sometype") %arg) { |
| call void @uses_zeroinit_ext_ty(target("spirv.sometype") %arg) |
| ret void |
| } |