[llvm] [AMDGPU] Fix type of SIlds / AMDGPUISD::LDS node (PR #210340)
via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 17 06:51:14 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-amdgpu
Author: Jay Foad (jayfoad)
<details>
<summary>Changes</summary>
iPTR means i64 here, but this node operates on 32-bit LDS addresses.
---
Full diff: https://github.com/llvm/llvm-project/pull/210340.diff
2 Files Affected:
- (modified) llvm/lib/Target/AMDGPU/AMDGPUSelectionDAGInfo.cpp (-2)
- (modified) llvm/lib/Target/AMDGPU/SIInstrInfo.td (+1-1)
``````````diff
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUSelectionDAGInfo.cpp b/llvm/lib/Target/AMDGPU/AMDGPUSelectionDAGInfo.cpp
index 5b8ee5fbcf9dc..814cc811331b1 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUSelectionDAGInfo.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUSelectionDAGInfo.cpp
@@ -51,8 +51,6 @@ void AMDGPUSelectionDAGInfo::verifyTargetNode(const SelectionDAG &DAG,
case AMDGPUISD::ELSE:
case AMDGPUISD::LOOP:
// operand #1 must have type i1, but has type i32/i64
- case AMDGPUISD::LDS:
- // result #0 must have type i64 (iPTR), but has type i32
return;
}
SelectionDAGGenTargetInfo::verifyTargetNode(DAG, N);
diff --git a/llvm/lib/Target/AMDGPU/SIInstrInfo.td b/llvm/lib/Target/AMDGPU/SIInstrInfo.td
index 7be067c085b5f..714627bee2a2c 100644
--- a/llvm/lib/Target/AMDGPU/SIInstrInfo.td
+++ b/llvm/lib/Target/AMDGPU/SIInstrInfo.td
@@ -275,7 +275,7 @@ def SIpc_add_rel_offset64 : SDNode<"AMDGPUISD::PC_ADD_REL_OFFSET64",
>;
def SIlds : SDNode<"AMDGPUISD::LDS",
- SDTypeProfile<1, 1, [SDTCisVT<0, iPTR>, SDTCisSameAs<0,1>]>
+ SDTypeProfile<1, 1, [SDTCisVT<0, i32>, SDTCisSameAs<0,1>]>
>;
def SIload_d16_lo : SDNode<"AMDGPUISD::LOAD_D16_LO",
``````````
</details>
https://github.com/llvm/llvm-project/pull/210340
More information about the llvm-commits
mailing list