[PATCH] D124192: [AMDGPU] Callee must always spill writelane VGPRs

Christudasan Devadasan via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 21 12:15:04 PDT 2022


cdevadas created this revision.
cdevadas added reviewers: arsenm, rampitec, sebastian-ne.
Herald added subscribers: hsmhsm, foad, kerbowa, arphaman, hiraditya, t-tye, tpr, dstuttard, yaxunl, nhaehnle, jvesely, kzhuravl, qcolombet.
Herald added a project: All.
cdevadas requested review of this revision.
Herald added subscribers: llvm-commits, wdng.
Herald added a project: LLVM.

Since the writelane instruction can modify inactive lanes,
the callee must preserve the VGPR this instruction modifies
even if it was marked Caller-saved. Currently, the writelane
instructions inserted for SGPR spill to VGPR are only preserved.
This patch takes care of preserving the VGPRs modified by every
single instance of writelane.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D124192

Files:
  llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
  llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
  llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
  llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
  llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
  llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
  llvm/test/CodeGen/AMDGPU/av_spill_cross_bb_usage.mir
  llvm/test/CodeGen/AMDGPU/frame-index.mir
  llvm/test/CodeGen/AMDGPU/pei-scavenge-vgpr-spill.mir
  llvm/test/CodeGen/AMDGPU/sgpr-spill-to-vmem-scc-clobber.mir
  llvm/test/CodeGen/AMDGPU/spill-writelane-vgprs.ll
  llvm/test/CodeGen/AMDGPU/vgpr-spill-scc-clobber.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D124192.424258.patch
Type: text/x-patch
Size: 239326 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220421/c5c8767d/attachment-0001.bin>


More information about the llvm-commits mailing list