[llvm] [NFC][SPIRV] Add test for untested case in SPIRVEmitIntrinsics (PR #189413)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 31 01:25:30 PDT 2026
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-spir-v
Author: ambergorzynski
<details>
<summary>Changes</summary>
[This case](https://github.com/llvm/llvm-project/blob/af98e3c2cb07af90029785a78e49c2761f20088e/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp#L1233-L1236) is not tested by any existing test (checked using code coverage and by inserting an `abort`). The case marks type deduction as incomplete.
I suggest a new test to cover this case; it's specific to `-mtriple=spirv64-amd-amdhsa`.
---
Full diff: https://github.com/llvm/llvm-project/pull/189413.diff
1 Files Affected:
- (added) llvm/test/CodeGen/SPIRV/passes/SPIRVEmitIntrinsics-infer-fnptr-todo-type.ll (+21)
``````````diff
diff --git a/llvm/test/CodeGen/SPIRV/passes/SPIRVEmitIntrinsics-infer-fnptr-todo-type.ll b/llvm/test/CodeGen/SPIRV/passes/SPIRVEmitIntrinsics-infer-fnptr-todo-type.ll
new file mode 100644
index 0000000000000..8ea0d1d017d77
--- /dev/null
+++ b/llvm/test/CodeGen/SPIRV/passes/SPIRVEmitIntrinsics-infer-fnptr-todo-type.ll
@@ -0,0 +1,21 @@
+; 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-amd-amdhsa -o - | FileCheck %s
+
+define void @test() addrspace(4) {
+; CHECK-LABEL: define void @test() addrspace(4) {
+; CHECK-NEXT: [[ENTRY:.*:]]
+; CHECK-NEXT: call addrspace(4) void @llvm.spv.init.global.p1.i32(ptr addrspace(1) @[[GLOB0:[0-9]+]], i32 0)
+; CHECK-NEXT: call addrspace(4) void @llvm.spv.assign.ptr.type.p4(ptr addrspace(4) null, metadata i8 poison, i32 4)
+; CHECK-NEXT: [[TMP0:%.*]] = call addrspace(4) ptr addrspace(4) @llvm.spv.ptrcast.p4.p4(ptr addrspace(4) null, metadata ptr poison, i32 4)
+; CHECK-NEXT: call addrspace(4) void @llvm.spv.assign.ptr.type.p4(ptr addrspace(4) [[TMP0]], metadata ptr poison, i32 4)
+; CHECK-NEXT: [[A:%.*]] = call addrspace(4) ptr addrspace(4) (i1, ptr addrspace(4), ...) @llvm.spv.gep.p4.p4(i1 false, ptr addrspace(4) [[TMP0]], i64 42)
+; CHECK-NEXT: call addrspace(4) void @llvm.spv.assign.ptr.type.p4(ptr addrspace(4) [[A]], metadata target("spirv.$TypedPointerType", i8, 4) (i64) poison, i32 4)
+; CHECK-NEXT: [[B:%.*]] = call spir_func addrspace(4) ptr addrspace(4) [[A]](i64 0)
+; CHECK-NEXT: call addrspace(4) void @llvm.spv.assign.ptr.type.p4(ptr addrspace(4) [[B]], metadata i8 poison, i32 4)
+; CHECK-NEXT: ret void
+;
+entry:
+ %A = getelementptr ptr, ptr addrspace(4) null, i64 42
+ %B = call spir_func addrspace(4) ptr addrspace(4) %A(i64 0)
+ ret void
+}
``````````
</details>
https://github.com/llvm/llvm-project/pull/189413
More information about the llvm-commits
mailing list