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

via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 15 00:00:25 PDT 2026


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

>From 7bf41a12213cada3c8f0ea06d618af4c097fdee3 Mon Sep 17 00:00:00 2001
From: "chengcang.yang" <yangchengcang at gmail.com>
Date: Wed, 15 Apr 2026 14:27:41 +0800
Subject: [PATCH 1/2] [AMDGPU] Add named operands to SI_CALL_ISEL

Enable the named operand table for SI_CALL_ISEL so downstream analyses and rewrites can query its callee operand consistently.
---
 llvm/lib/Target/AMDGPU/SIInstructions.td | 1 +
 1 file changed, 1 insertion(+)

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

>From 6e4983b7e2437d526118a5f226ab02d5931ebfef Mon Sep 17 00:00:00 2001
From: "chengcang.yang" <yangchengcang at gmail.com>
Date: Wed, 15 Apr 2026 14:27:41 +0800
Subject: [PATCH 2/2] [AMDGPU] Add SI_CALL_ISEL named operand regression

Check the TableGen record for SI_CALL_ISEL so the callee operand stays in the named operand table used by downstream analyses.
---
 llvm/test/TableGen/amdgpu-si-call-isel-named-operands.td | 7 +++++++
 1 file changed, 7 insertions(+)
 create mode 100644 llvm/test/TableGen/amdgpu-si-call-isel-named-operands.td

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;



More information about the llvm-commits mailing list