[llvm] [AMDGPU] Allow folding of non-subregs through REG_SEQUENCE (PR #151033)
Josh Hutton via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 7 11:44:25 PST 2025
================
@@ -730,14 +730,11 @@ bool SIFoldOperandsImpl::updateOperand(FoldCandidate &Fold) const {
}
}
- // Rework once the VS_16 register class is updated to include proper
- // 16-bit SGPRs instead of 32-bit ones.
- if (Old.getSubReg() == AMDGPU::lo16 && TRI->isSGPRReg(*MRI, New->getReg()))
- Old.setSubReg(AMDGPU::NoSubRegister);
+ Old.setSubReg(New->getSubReg());
if (New->getReg().isPhysical()) {
Old.substPhysReg(New->getReg(), *TRI);
} else {
- Old.substVirtReg(New->getReg(), New->getSubReg(), *TRI);
+ Old.substVirtReg(New->getReg(), 0, *TRI);
----------------
JoshHuttonCode wrote:
I did have to change this to not pass in any subreg in order to make `Old.setSubReg(New->getSubReg())` work, if that is fine.
https://github.com/llvm/llvm-project/pull/151033
More information about the llvm-commits
mailing list