[PATCH] D128836: [AMDGPU][GlobalISel] Support register offsets for SMRDs.
Matt Arsenault via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jun 29 10:04:42 PDT 2022
arsenm added a comment.
Should add some MIR select tests
================
Comment at: llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp:3833
// SGPR offset is unsigned.
- if (!GEPInfo.Imm || GEPInfo.Imm < 0 || !isUInt<32>(GEPInfo.Imm))
- return None;
+ if (AddrInfo[0].SgprParts.size() == 1 && GEPInfo.Imm > 0 &&
+ isUInt<32>(GEPInfo.Imm)) {
----------------
Isn't GEPInfo.Imm > 0 redundant with isUInt<32>?
================
Comment at: llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp:3848
+ Register OffsetReg = GEPInfo.SgprParts[1];
+ mi_match(OffsetReg, *MRI, m_GZExt(m_Reg(OffsetReg)));
+ if (MRI->getType(OffsetReg) == LLT::scalar(32)) {
----------------
Should use matchZeroExtendFromS32 to handle all the extended cases. Also this isn't checking the match return
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D128836/new/
https://reviews.llvm.org/D128836
More information about the llvm-commits
mailing list