[llvm] a1de9ac - AMDGPU: Remove tablegen bz30254 workarounds from BUF instructions (#157054)
via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 5 07:08:02 PDT 2025
Author: Matt Arsenault
Date: 2025-09-05T14:07:58Z
New Revision: a1de9aca1150bd749a3cdad1d1e26eb6a8855fe2
URL: https://github.com/llvm/llvm-project/commit/a1de9aca1150bd749a3cdad1d1e26eb6a8855fe2
DIFF: https://github.com/llvm/llvm-project/commit/a1de9aca1150bd749a3cdad1d1e26eb6a8855fe2.diff
LOG: AMDGPU: Remove tablegen bz30254 workarounds from BUF instructions (#157054)
Added:
Modified:
llvm/lib/Target/AMDGPU/BUFInstructions.td
Removed:
################################################################################
diff --git a/llvm/lib/Target/AMDGPU/BUFInstructions.td b/llvm/lib/Target/AMDGPU/BUFInstructions.td
index 8e3c3294ec713..b42f4a155a1b7 100644
--- a/llvm/lib/Target/AMDGPU/BUFInstructions.td
+++ b/llvm/lib/Target/AMDGPU/BUFInstructions.td
@@ -219,16 +219,14 @@ class MTBUF_Load_Pseudo <string opName,
RegisterOperand vdataClass,
int elems,
bit hasRestrictedSOffset = 0,
- list<dag> pattern=[],
- // Workaround bug bz30254
- int addrKindCopy = addrKind>
+ list<dag> pattern=[]>
: MTBUF_Pseudo<opName,
(outs vdataClass:$vdata),
- getMTBUFIns<addrKindCopy, [], hasRestrictedSOffset>.ret,
- getMTBUFAsmOps<addrKindCopy>.ret,
+ getMTBUFIns<addrKind, [], hasRestrictedSOffset>.ret,
+ getMTBUFAsmOps<addrKind>.ret,
pattern>,
- MTBUF_SetupAddr<addrKindCopy> {
- let PseudoInstr = opName # "_" # getAddrName<addrKindCopy>.ret;
+ MTBUF_SetupAddr<addrKind> {
+ let PseudoInstr = opName # "_" # getAddrName<addrKind>.ret;
let mayLoad = 1;
let mayStore = 0;
let elements = elems;
@@ -266,17 +264,14 @@ class MTBUF_Store_Pseudo <string opName,
RegisterOperand vdataClass,
int elems,
bit hasRestrictedSOffset = 0,
- list<dag> pattern=[],
- // Workaround bug bz30254
- int addrKindCopy = addrKind,
- RegisterOperand vdataClassCopy = vdataClass>
+ list<dag> pattern=[]>
: MTBUF_Pseudo<opName,
(outs),
- getMTBUFIns<addrKindCopy, [vdataClassCopy], hasRestrictedSOffset>.ret,
- getMTBUFAsmOps<addrKindCopy>.ret,
+ getMTBUFIns<addrKind, [vdataClass], hasRestrictedSOffset>.ret,
+ getMTBUFAsmOps<addrKind>.ret,
pattern>,
- MTBUF_SetupAddr<addrKindCopy> {
- let PseudoInstr = opName # "_" # getAddrName<addrKindCopy>.ret;
+ MTBUF_SetupAddr<addrKind> {
+ let PseudoInstr = opName # "_" # getAddrName<addrKind>.ret;
let mayLoad = 0;
let mayStore = 1;
let elements = elems;
@@ -492,18 +487,16 @@ class MUBUF_Load_Pseudo <string opName,
bit isTFE = 0,
bit hasRestrictedSOffset = 0,
list<dag> pattern=[],
- // Workaround bug bz30254
- int addrKindCopy = addrKind,
RegisterOperand vdata_op = getLdStVDataRegisterOperand<vdata_vt.Size, isTFE>.ret>
: MUBUF_Pseudo<opName,
!if(!or(isLds, isLdsOpc), (outs), (outs vdata_op:$vdata)),
- !con(getMUBUFIns<addrKindCopy, [], isTFE, hasRestrictedSOffset>.ret,
+ !con(getMUBUFIns<addrKind, [], isTFE, hasRestrictedSOffset>.ret,
!if(HasTiedDest, (ins vdata_op:$vdata_in), (ins))),
- getMUBUFAsmOps<addrKindCopy, !or(isLds, isLdsOpc), isLds, isTFE>.ret,
+ getMUBUFAsmOps<addrKind, !or(isLds, isLdsOpc), isLds, isTFE>.ret,
pattern>,
- MUBUF_SetupAddr<addrKindCopy> {
+ MUBUF_SetupAddr<addrKind> {
let PseudoInstr = opName # !if(isLds, "_lds", "") # !if(isTFE, "_tfe", "") #
- "_" # getAddrName<addrKindCopy>.ret;
+ "_" # getAddrName<addrKind>.ret;
let AsmMatchConverter = "cvtMubuf";
let Constraints = !if(HasTiedDest, "$vdata = $vdata_in", "");
@@ -593,17 +586,15 @@ class MUBUF_Store_Pseudo <string opName,
ValueType store_vt,
bit isTFE = 0,
bit hasRestrictedSOffset = 0,
- list<dag> pattern=[],
- // Workaround bug bz30254
- int addrKindCopy = addrKind>
+ list<dag> pattern=[]>
: MUBUF_Pseudo<opName,
(outs),
- getMUBUFIns<addrKindCopy, [getVregSrcForVT<store_vt>.ret], isTFE, hasRestrictedSOffset>.ret,
- getMUBUFAsmOps<addrKindCopy, 0, 0, isTFE>.ret,
+ getMUBUFIns<addrKind, [getVregSrcForVT<store_vt>.ret], isTFE, hasRestrictedSOffset>.ret,
+ getMUBUFAsmOps<addrKind, 0, 0, isTFE>.ret,
pattern>,
- MUBUF_SetupAddr<addrKindCopy> {
+ MUBUF_SetupAddr<addrKind> {
let PseudoInstr = opName # "_" # !if(isTFE, "_tfe", "") #
- getAddrName<addrKindCopy>.ret;
+ getAddrName<addrKind>.ret;
let mayLoad = 0;
let mayStore = 1;
let elements = getMUBUFElements<store_vt>.ret;
@@ -693,20 +684,18 @@ class getMUBUFAtomicInsDA<RegisterOperand vdata_op, bit vdata_in, bit hasRestric
class getMUBUFAtomicIns<int addrKind,
RegisterOperand vdataClass,
bit vdata_in,
- bit hasRestrictedSOffset,
- // Workaround bug bz30254
- RegisterOperand vdataClassCopy=vdataClass> {
+ bit hasRestrictedSOffset> {
dag ret =
!if(!eq(addrKind, BUFAddrKind.Offset),
- getMUBUFAtomicInsDA<vdataClassCopy, vdata_in, hasRestrictedSOffset>.ret,
+ getMUBUFAtomicInsDA<vdataClass, vdata_in, hasRestrictedSOffset>.ret,
!if(!eq(addrKind, BUFAddrKind.OffEn),
- getMUBUFAtomicInsDA<vdataClassCopy, vdata_in, hasRestrictedSOffset, [VGPR_32]>.ret,
+ getMUBUFAtomicInsDA<vdataClass, vdata_in, hasRestrictedSOffset, [VGPR_32]>.ret,
!if(!eq(addrKind, BUFAddrKind.IdxEn),
- getMUBUFAtomicInsDA<vdataClassCopy, vdata_in, hasRestrictedSOffset, [VGPR_32]>.ret,
+ getMUBUFAtomicInsDA<vdataClass, vdata_in, hasRestrictedSOffset, [VGPR_32]>.ret,
!if(!eq(addrKind, BUFAddrKind.BothEn),
- getMUBUFAtomicInsDA<vdataClassCopy, vdata_in, hasRestrictedSOffset, [VReg_64]>.ret,
+ getMUBUFAtomicInsDA<vdataClass, vdata_in, hasRestrictedSOffset, [VReg_64]>.ret,
!if(!eq(addrKind, BUFAddrKind.Addr64),
- getMUBUFAtomicInsDA<vdataClassCopy, vdata_in, hasRestrictedSOffset, [VReg_64]>.ret,
+ getMUBUFAtomicInsDA<vdataClass, vdata_in, hasRestrictedSOffset, [VReg_64]>.ret,
(ins))))));
}
@@ -715,11 +704,9 @@ class MUBUF_Atomic_Pseudo<string opName,
dag outs,
dag ins,
string asmOps,
- list<dag> pattern=[],
- // Workaround bug bz30254
- int addrKindCopy = addrKind>
+ list<dag> pattern=[]>
: MUBUF_Pseudo<opName, outs, ins, asmOps, pattern>,
- MUBUF_SetupAddr<addrKindCopy> {
+ MUBUF_SetupAddr<addrKind> {
let mayStore = 1;
let mayLoad = 1;
let hasSideEffects = 1;
@@ -733,16 +720,13 @@ class MUBUF_Atomic_Pseudo<string opName,
class MUBUF_AtomicNoRet_Pseudo<string opName, int addrKind,
RegisterOperand vdataClass,
bit hasRestrictedSOffset = 0,
- list<dag> pattern=[],
- // Workaround bug bz30254
- int addrKindCopy = addrKind,
- RegisterOperand vdataClassCopy = vdataClass>
- : MUBUF_Atomic_Pseudo<opName, addrKindCopy,
+ list<dag> pattern=[]>
+ : MUBUF_Atomic_Pseudo<opName, addrKind,
(outs),
- getMUBUFAtomicIns<addrKindCopy, vdataClassCopy, 0, hasRestrictedSOffset>.ret,
- getMUBUFAsmOps<addrKindCopy>.ret,
+ getMUBUFAtomicIns<addrKind, vdataClass, 0, hasRestrictedSOffset>.ret,
+ getMUBUFAsmOps<addrKind>.ret,
pattern> {
- let PseudoInstr = opName # "_" # getAddrName<addrKindCopy>.ret;
+ let PseudoInstr = opName # "_" # getAddrName<addrKind>.ret;
let glc_value = 0;
let dlc_value = 0;
let sccb_value = 0;
@@ -752,16 +736,13 @@ class MUBUF_AtomicNoRet_Pseudo<string opName, int addrKind,
class MUBUF_AtomicRet_Pseudo<string opName, int addrKind,
RegisterOperand vdata_op,
bit hasRestrictedSOffset = 0,
- list<dag> pattern=[],
- // Workaround bug bz30254
- int addrKindCopy = addrKind,
- RegisterOperand vdataClassCopy = vdata_op>
- : MUBUF_Atomic_Pseudo<opName, addrKindCopy,
+ list<dag> pattern=[]>
+ : MUBUF_Atomic_Pseudo<opName, addrKind,
(outs vdata_op:$vdata),
- getMUBUFAtomicIns<addrKindCopy, vdataClassCopy, 1, hasRestrictedSOffset>.ret,
- getMUBUFAsmOps<addrKindCopy>.ret,
+ getMUBUFAtomicIns<addrKind, vdata_op, 1, hasRestrictedSOffset>.ret,
+ getMUBUFAsmOps<addrKind>.ret,
pattern> {
- let PseudoInstr = opName # "_rtn_" # getAddrName<addrKindCopy>.ret;
+ let PseudoInstr = opName # "_rtn_" # getAddrName<addrKind>.ret;
let glc_value = 1;
let dlc_value = 0;
let sccb_value = 0;
More information about the llvm-commits
mailing list