[llvm] [CodeGen] Recompute intervals after erasing subregister IMPLICIT_DEF (PR #218348)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 6 02:32:09 PDT 2026


Karl =?utf-8?q?Hylén?= <karl.hylen at arm.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/218348 at github.com>


================
@@ -2293,6 +2296,21 @@ RegisterCoalescer::JoinResult RegisterCoalescer::joinCopy(
   // being merged.
   LIS->removeInterval(CP.getSrcReg());
 
+  if (RecomputeLiveInterval) {
+    Register DstReg = CP.getDstReg();
+    float Weight = LIS->getInterval(DstReg).weight();
+    LIS->removeInterval(DstReg);
+
+    bool NeedSplit = false;
+    LiveInterval &LI = LIS->createAndComputeVirtRegInterval(DstReg, NeedSplit);
+    LI.setWeight(Weight);
----------------
arsenm wrote:

Don't think copying the weight does anything 

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


More information about the llvm-commits mailing list