From 9238b0f765ada177cd7034cf75a57acf26f2ac46 Mon Sep 17 00:00:00 2001 From: ambergorzynski <120007557+ambergorzynski@users.noreply.github.com> Date: Fri, 27 Mar 2026 17:05:42 +0000 Subject: [PATCH] [NFC][SPIRV] New test for untested case in SPIRVEmitIntrinsics (#188950) [This case](https://github.com/llvm/llvm-project/blob/bc3571569685bfa4671e80d112dc0d5c8fc7b25d/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp#L2815-L2818) is not covered by any existing test (checked via code coverage and inserting an `abort`). New test proposed that covers this line, as demonstrated by test failure when an `abort` is present in that line. --- .../SPIRVEmitIntrinsics-infer-ptr-type.ll | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 llvm/test/CodeGen/SPIRV/passes/SPIRVEmitIntrinsics-infer-ptr-type.ll diff --git a/llvm/test/CodeGen/SPIRV/passes/SPIRVEmitIntrinsics-infer-ptr-type.ll b/llvm/test/CodeGen/SPIRV/passes/SPIRVEmitIntrinsics-infer-ptr-type.ll new file mode 100644 index 000000000000..5c44f9e4e3bb --- /dev/null +++ b/llvm/test/CodeGen/SPIRV/passes/SPIRVEmitIntrinsics-infer-ptr-type.ll @@ -0,0 +1,28 @@ +; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 6 +; RUN: opt -S -passes=spirv-emit-intrinsics %s -mtriple=spirv64-unknown-unknown -o - | FileCheck %s +; RUN: opt -S -passes=spirv-emit-intrinsics %s -mtriple=spirv64-unknown-vulkan -o - | FileCheck %s + +define spir_func i32 @foo(ptr %fn) { +; CHECK-LABEL: define spir_func i32 @foo( +; CHECK-SAME: ptr [[FN:%.*]]) { +; CHECK-NEXT: [[ENTRY:.*:]] +; CHECK-NEXT: call void @llvm.spv.assign.ptr.type.p0(ptr [[FN]], metadata void () poison, i32 0) +; CHECK-NEXT: ret i32 0 +; +entry: + ret i32 0 +} + +declare spir_func void @bar() + +define spir_kernel void @infer_ptr_type() { +; CHECK-LABEL: define spir_kernel void @infer_ptr_type() { +; CHECK-NEXT: [[ENTRY:.*:]] +; CHECK-NEXT: [[C:%.*]] = call spir_func i32 @foo(ptr @bar) +; CHECK-NEXT: call void @llvm.spv.assign.type.i32(i32 [[C]], metadata i32 poison) +; CHECK-NEXT: ret void +; +entry: + %C = call spir_func i32 @foo(ptr @bar) + ret void +}