[llvm] [llvm][CodeGen] Address the issue of multiple resource reservations in window scheduling (PR #100301)
Kai Yan via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 23 22:05:42 PDT 2024
https://github.com/kaiyan96 created https://github.com/llvm/llvm-project/pull/100301
We identified an issue with multiple resource reservations in window scheduling:
* This was overlooked in [#99454](https://github.com/llvm/llvm-project/pull/99454/commits) when the PR was separated from [#99429](https://github.com/llvm/llvm-project/pull/99429).
* This issue does not affect the initiation interval calculation, as reserveResources will fail to reserve a resource that has already been reserved.
* The problem is difficult to describe at the IR level, making it challenging to create a corresponding test case.
>From d9980336e7ce224f61e4eee651652e58f2a4a4d7 Mon Sep 17 00:00:00 2001
From: aklkaiyan <aklkaiyan at tencent.com>
Date: Wed, 24 Jul 2024 12:49:32 +0800
Subject: [PATCH] [llvm][CodeGen] Address the issue of multiple resource
reservations in window scheduling
---
llvm/lib/CodeGen/WindowScheduler.cpp | 1 -
1 file changed, 1 deletion(-)
diff --git a/llvm/lib/CodeGen/WindowScheduler.cpp b/llvm/lib/CodeGen/WindowScheduler.cpp
index cb878f7425481..c42c81b045807 100644
--- a/llvm/lib/CodeGen/WindowScheduler.cpp
+++ b/llvm/lib/CodeGen/WindowScheduler.cpp
@@ -451,7 +451,6 @@ int WindowScheduler::calculateMaxCycle(ScheduleDAGInstrs &DAG,
}
RM.reserveResources(*SU, CurCycle);
}
- RM.reserveResources(*SU, CurCycle);
OriToCycle[getOriMI(&MI)] = CurCycle;
LLVM_DEBUG(dbgs() << "\tCycle " << CurCycle << " [S."
<< getOriStage(getOriMI(&MI), Offset) << "]: " << MI);
More information about the llvm-commits
mailing list