[llvm] [AMDGPU] Lower loads and stores for address space 13 (PR #209541)
Gheorghe-Teodor Bercea via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 30 06:01:24 PDT 2026
================
@@ -3477,6 +3493,70 @@ static LLT widenToNextPowerOf2(LLT Ty) {
return Ty.changeElementSize(PowerOf2Ceil(Ty.getSizeInBits()));
}
+/// Lower a whole-dword G_LOAD / G_STORE on AMDGPUAS::VGPR into
+/// G_AMDGPU_REG_LOAD / G_AMDGPU_REG_STORE. Parallels LowerLoadStoreVGPR.
+static bool lowerLoadStoreVGPR(LegalizerHelper &Helper, MachineInstr &MI) {
+ MachineIRBuilder &B = Helper.MIRBuilder;
+ MachineRegisterInfo &MRI = *B.getMRI();
+ MachineMemOperand &MMO = **MI.memoperands_begin();
+
+ const bool IsStore = MI.getOpcode() == AMDGPU::G_STORE;
+ Register ValReg = MI.getOperand(0).getReg();
+ Register PtrReg = MI.getOperand(1).getReg();
+
+ const LLT ValTy = MRI.getType(ValReg);
+ const unsigned ValSize = ValTy.getSizeInBits();
+ // The selection patterns match integer LLTs rather than plain scalars.
----------------
doru1004 wrote:
Done
https://github.com/llvm/llvm-project/pull/209541
More information about the llvm-commits
mailing list