[llvm] [DebugInfo][RegisterCoalescer] Drop DBG_VALUEs with unsupported register class (PR #143132)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 6 09:09:56 PDT 2025


================
@@ -4335,11 +4335,17 @@ bool RegisterCoalescer::run(MachineFunction &fn) {
   for (Register Reg : InflateRegs) {
     if (MRI->reg_nodbg_empty(Reg))
       continue;
-    if (MRI->recomputeRegClass(Reg)) {
+
+    auto [Recomputed, IllegalDbgValues] = MRI->recomputeRegClass(Reg);
+    if (Recomputed) {
       LLVM_DEBUG(dbgs() << printReg(Reg) << " inflated to "
                         << TRI->getRegClassName(MRI->getRegClass(Reg)) << '\n');
       ++NumInflated;
 
+      // Mark undef debug value instructions that became illegal.
+      for (MachineInstr *MI : IllegalDbgValues)
----------------
arsenm wrote:

At worst you can re-find the debug uses from the register without having recomputeRegClass report it

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


More information about the llvm-commits mailing list