[llvm] [AMDGPU] Add named operands to SI_CALL_ISEL (PR #192196)

via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 14 23:57:23 PDT 2026


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-backend-amdgpu

Author: StevenYangCC

<details>
<summary>Changes</summary>

Enable the named operand table for SI_CALL_ISEL so downstream analyses and rewrites can query its callee operand consistently.

---
Full diff: https://github.com/llvm/llvm-project/pull/192196.diff


2 Files Affected:

- (modified) llvm/lib/Target/AMDGPU/SIInstructions.td (+1) 
- (added) llvm/test/TableGen/amdgpu-si-call-isel-named-operands.td (+7) 


``````````diff
diff --git a/llvm/lib/Target/AMDGPU/SIInstructions.td b/llvm/lib/Target/AMDGPU/SIInstructions.td
index 008fdbaddfd22..4096d5e1fec56 100644
--- a/llvm/lib/Target/AMDGPU/SIInstructions.td
+++ b/llvm/lib/Target/AMDGPU/SIInstructions.td
@@ -810,6 +810,7 @@ def SI_CALL_ISEL : SPseudoInstSI <
   [(AMDGPUcall i64:$src0, tglobaladdr:$callee)]> {
   let Size = 4;
   let isCall = 1;
+  let UseNamedOperandTable = 1;
   let SchedRW = [WriteBranch];
   let usesCustomInserter = 1;
   // TODO: Should really base this on the call target
diff --git a/llvm/test/TableGen/amdgpu-si-call-isel-named-operands.td b/llvm/test/TableGen/amdgpu-si-call-isel-named-operands.td
new file mode 100644
index 0000000000000..4b318a0e3f2a2
--- /dev/null
+++ b/llvm/test/TableGen/amdgpu-si-call-isel-named-operands.td
@@ -0,0 +1,7 @@
+// RUN: llvm-tblgen -print-records -I %p/../../include -I %p/../../lib/Target/AMDGPU -I %p/../../lib/Target %s | FileCheck %s
+
+include "AMDGPU.td"
+
+// CHECK: def SI_CALL_ISEL
+// CHECK: dag InOperandList = (ins SSrc_b64:$src0, unknown:$callee);
+// CHECK: bit UseNamedOperandTable = 1;

``````````

</details>


https://github.com/llvm/llvm-project/pull/192196


More information about the llvm-commits mailing list