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

Stanislav Mekhanoshin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 22 13:22:00 PST 2019


rampitec added inline comments.


================
Comment at: llvm/lib/Target/AMDGPU/SIInstrInfo.cpp:6216
+  Register UnusedCarry = !RS.isRegUsed(AMDGPU::VCC)
+                             ? AMDGPU::VCC
+                             : RS.scavengeRegister(RI.getBoolRC(), I, 0, false);
----------------
RI.getVCC(), even though right now we cannot hit this with wave32.


================
Comment at: llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp:1130
+              // Use scavenged unused carry out as offset register.
+              Register ConstOffsetReg = getSubReg(MIB.getReg(1), AMDGPU::sub0);
 
----------------
It ignores wave32 where carry is 32 bit. Granted right now we have no carry adds on all GFX10, but we cannot be sure this will be the same in the future. At least assert if needed the register is 64 bit.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D70614/new/

https://reviews.llvm.org/D70614





More information about the llvm-commits mailing list