[PATCH] D157719: [AMDGPU] [SIFrameLowering] Replace LivePhysRegs with LiveRegUnits

Pranav Taneja via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 21 05:10:06 PDT 2023


tanejapranav added inline comments.


================
Comment at: llvm/lib/Target/AMDGPU/SIFrameLowering.cpp:34-37
   for (MCRegister Reg : RC) {
-    if (!MRI.isPhysRegUsed(Reg) && LiveRegs.available(MRI, Reg))
+    if (!MRI.isPhysRegUsed(Reg) && LiveUnits.available(MRI, Reg))
       return Reg;
   }
----------------
arsenm wrote:
> The isPhysRegUsed check should be redundant
> 
> This loop seems backwards, we could start by finding unused regunits and go up to the the register
The utility for finding the used physical registers in a function is already available by querying the alias register set. However, in the case of Register Units, appears like we don't have one ready in the LiveRegUnits implementation that would help us track the used Register Units.

At this point, we may have to compute the information on used register units which would require iterating over all instructions in the function, further worsening the complexity. Would it be worth going in that direction. 



Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D157719



More information about the llvm-commits mailing list