[llvm] [CodeGen] Reuse one LiveIntervalCalc across all subranges (NFC) (PR #219571)

via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 28 13:46:16 PDT 2026


llvmorg-github-actions[bot] wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-llvm-regalloc

Author: Alex MacLean (AlexMaclean)

<details>
<summary>Changes</summary>

`SplitKit` already reuses a single `SubLIC` this way:
https://github.com/llvm/llvm-project/blob/aa198f8668e578cf11068c9a47559dfd3cc04bc7/llvm/lib/CodeGen/SplitKit.cpp#L1452-L1471


---
Full diff: https://github.com/llvm/llvm-project/pull/219571.diff


1 Files Affected:

- (modified) llvm/lib/CodeGen/LiveIntervalCalc.cpp (+1-1) 


``````````diff
diff --git a/llvm/lib/CodeGen/LiveIntervalCalc.cpp b/llvm/lib/CodeGen/LiveIntervalCalc.cpp
index 34057ef05134e..d5a006d5701d7 100644
--- a/llvm/lib/CodeGen/LiveIntervalCalc.cpp
+++ b/llvm/lib/CodeGen/LiveIntervalCalc.cpp
@@ -89,8 +89,8 @@ void LiveIntervalCalc::calculate(LiveInterval &LI, bool TrackSubRegs) {
   // Step 2: Extend live segments to all uses, constructing SSA form as
   // necessary.
   if (LI.hasSubRanges()) {
+    LiveIntervalCalc SubLIC;
     for (LiveInterval::SubRange &S : LI.subranges()) {
-      LiveIntervalCalc SubLIC;
       SubLIC.reset(MF, Indexes, DomTree, Alloc);
       SubLIC.extendToUses(S, Reg, S.LaneMask, &LI);
     }

``````````

</details>


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


More information about the llvm-commits mailing list