[PATCH] D134526: [AMDGPU] Preserve only the inactive lanes of scratch vgprs
Matt Arsenault via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 28 13:02:24 PDT 2022
arsenm accepted this revision.
arsenm added inline comments.
This revision is now accepted and ready to land.
================
Comment at: llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp:285-288
+void SIMachineFunctionInfo::splitWWMSpillRegisters(
+ MachineFunction &MF,
+ SmallVectorImpl<std::pair<Register, int>> &CalleeSavedRegs,
+ SmallVectorImpl<std::pair<Register, int>> &ScratchRegs) const {
----------------
I don't really like having to split these into two arrays like this but I don't have a better suggestion
================
Comment at: llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp:291
+ for (auto &Reg : WWMSpills) {
+ if (TRI->isCalleeSavedPhysReg(Reg.first, MF))
+ CalleeSavedRegs.push_back(Reg);
----------------
arsenm wrote:
> This needs to check the MRI callee saved regs, not TRI directly for dynamically changed CSRs
Actually I've seen this mistake too many times. We should probably rename the TRI version and hide it
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D134526/new/
https://reviews.llvm.org/D134526
More information about the llvm-commits
mailing list