[llvm] [llvm][CodeGen] Resolve issues when updating live intervals in window scheduler (PR #101945)
Hua Tian via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 14 01:01:34 PDT 2024
=?utf-8?b?4oCcYWtpcmF0aWFu4oCd?= <akiratian at tencent.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/101945 at github.com>
================
@@ -644,6 +645,20 @@ void WindowScheduler::expand() {
MSE.cleanup();
}
+void WindowScheduler::reanalyzeLiveIntervals() {
+ auto SlotIndex = Context->LIS->getSlotIndexes();
+ // Check if the SlotIndex infomation is missing.
+ for (auto &MBB : *MF)
+ for (auto &MI : MBB)
+ if (!SlotIndex->hasIndex(MI)) {
+ // The slot index and live intervals of MF have been corrupted and need
+ // to be reanalyzed.
+ SlotIndex->reanalyze(*MF);
+ Context->LIS->reanalyze(*MF);
----------------
huaatian wrote:
You are right.
The issue occurs in the ModuloScheduleExpander module. We have avoided the current problem by adding the minimal amount of live interval information, without affecting the window scheduler.
https://github.com/llvm/llvm-project/pull/101945
More information about the llvm-commits
mailing list