[llvm] [InlineSpiller] Hoist spills only when all of its subranges are available (PR #177703)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 29 09:51:53 PST 2026


================
@@ -1409,8 +1409,11 @@ bool HoistSpillHelper::isSpillCandBB(LiveInterval &OrigLI, VNInfo &OrigVNI,
 
   for (const Register &SibReg : Siblings) {
     LiveInterval &LI = LIS.getInterval(SibReg);
-    VNInfo *VNI = LI.getVNInfoAt(Idx);
-    if (VNI) {
+    if (!LI.getVNInfoAt(Idx))
+      continue;
+    if (all_of(LI.subranges(), [&](const LiveInterval::SubRange &SR) {
+          return SR.getVNInfoAt(Idx);
----------------
topperc wrote:

It might be slightly clear to write `SR.getVNInfoAt(Idx) != nullptr` here.

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


More information about the llvm-commits mailing list