[PATCH] D70614: AMDGPU: Reuse carry out register during FI elimination

Austin Kerbow via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 22 13:02:34 PST 2019


kerbowa created this revision.
kerbowa added reviewers: arsenm, rampitec.
Herald added subscribers: llvm-commits, hiraditya, t-tye, tpr, dstuttard, yaxunl, nhaehnle, wdng, jvesely, kzhuravl.
Herald added a project: LLVM.

Pre gfx9 we need to scavenge a 64-bit SGPR to use as the carry out for an Add.
If only one SGPR was available this crashed when trying to scavenge another
32bit SGPR to materialize the offset.

Instead, reuse a 32-bit SGPR from the carry out as the offset register.

Also prefer to use vcc for the unused carry out when it is available.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D70614

Files:
  llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
  llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
  llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr-carry-out.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D70614.230712.patch
Type: text/x-patch
Size: 9824 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191122/c319e9d6/attachment.bin>


More information about the llvm-commits mailing list