[llvm] [NVPTX] Skip numbering unreferenced virtual registers (readability) (PR #154391)

Alex MacLean via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 19 10:54:58 PDT 2025


================
@@ -1479,13 +1478,13 @@ void NVPTXAsmPrinter::setAndEmitFunctionVirtualRegisters(
   // global virtual
   // register number and the per class virtual register number.
   // We use the per class virtual register number in the ptx output.
-  unsigned int numVRs = MRI->getNumVirtRegs();
-  for (unsigned i = 0; i < numVRs; i++) {
-    Register vr = Register::index2VirtReg(i);
-    const TargetRegisterClass *RC = MRI->getRegClass(vr);
-    DenseMap<unsigned, unsigned> &regmap = VRegMapping[RC];
-    int n = regmap.size();
-    regmap.insert(std::make_pair(vr, n + 1));
+  for (unsigned I : llvm::seq(MRI->getNumVirtRegs())) {
+    Register VR = Register::index2VirtReg(I);
+    if (MRI->use_empty(VR) && MRI->def_empty(VR))
+      continue;
+    const TargetRegisterClass *RC = MRI->getRegClass(VR);
+    DenseMap<unsigned, unsigned> &RCRegMap = VRegMapping[RC];
+    RCRegMap.insert(std::make_pair(VR, RCRegMap.size() + 1));
----------------
AlexMaclean wrote:

Nice, updated

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


More information about the llvm-commits mailing list