[PATCH] D66629: AMDGPU: Don't use frame virtual registers
Matt Arsenault via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 22 19:47:19 PDT 2019
arsenm created this revision.
arsenm added a reviewer: rampitec.
Herald added subscribers: arphaman, t-tye, tpr, dstuttard, yaxunl, nhaehnle, wdng, jvesely, kzhuravl, qcolombet.
SGPR spills aren't really handled after SILowerSGPRSpills. In order to
directly control what happens if the scavenger needs to spill, the
scavenger needs to be used directly. There is an alternative to
spilling in these contexts anyway since the frame register can be
increment and restored.
This does present another possible issue if spilling is needed for the
unused carry out if an add is needed. I think this can be avoided by
using a scalar add (although that clobbers SCC, which happens anyway).
https://reviews.llvm.org/D66629
Files:
lib/Target/AMDGPU/SIInstrInfo.cpp
lib/Target/AMDGPU/SIInstrInfo.h
lib/Target/AMDGPU/SIRegisterInfo.cpp
test/CodeGen/AMDGPU/frame-index-elimination.ll
test/CodeGen/AMDGPU/pei-scavenge-sgpr.mir
test/CodeGen/AMDGPU/spill-m0.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D66629.216759.patch
Type: text/x-patch
Size: 20810 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190823/9406043b/attachment.bin>
More information about the llvm-commits
mailing list