[llvm] [NVPTX] Rename register classes after float register removal (NFC) (PR #145255)

Artem Belevich via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 23 11:46:39 PDT 2025


================
@@ -77,20 +77,20 @@ constants:       []
 machineFunctionInfo: {}
 body:             |
   bb.0:
-    %0:int32regs, %1:int32regs, %2:int32regs, %3:int32regs = LoadParamMemV4I32 0
+    %0:b32, %1:b32, %2:b32, %3:b32 = LoadParamMemV4I32 0
     ; CHECK-NOT: ProxyReg
-    %4:int32regs = ProxyRegB32 killed %0
-    %5:int32regs = ProxyRegB32 killed %1
-    %6:int32regs = ProxyRegB32 killed %2
-    %7:int32regs = ProxyRegB32 killed %3
+    %4:b32 = ProxyRegB32 killed %0
----------------
Artem-B wrote:

The original purpose was to enable library calls on the GPU:
https://reviews.llvm.org/D34708
https://github.com/llvm/llvm-project/commit/49fac56ea3bd3aae02cf03bff812128dc30b4a53

I've completely forgot that. Recently we've been sort of abusing those proxy registers to eliminate redundant register moves. e.g. 
https://github.com/llvm/llvm-project/blob/2756879000c5cde9e956bb38148ea13366cff439/llvm/lib/Target/NVPTX/NVPTXInstrInfo.td#L3258-L3264
Your changes have largely rendered this use case obsolete. 

However, I believe the original use case is still valid. So, to answer my own question -- yes, we still probably need those proxy registers.


https://github.com/llvm/llvm-project/pull/145255


More information about the llvm-commits mailing list