[lld] [AMDGPU][MachineScheduler] Alternative way to control excess RP. (PR #68004)

via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 24 05:38:13 PDT 2023


================
@@ -1117,16 +1118,23 @@ bool OccInitialScheduleStage::shouldRevertScheduling(unsigned WavesAfter) {
 bool UnclusteredHighRPStage::shouldRevertScheduling(unsigned WavesAfter) {
   // If RP is not reduced in the unclustered reschedule stage, revert to the
   // old schedule.
-  if ((WavesAfter <= PressureBefore.getOccupancy(ST) &&
-       mayCauseSpilling(WavesAfter)) ||
-      GCNSchedStage::shouldRevertScheduling(WavesAfter)) {
-    LLVM_DEBUG(dbgs() << "Unclustered reschedule did not help.\n");
-    return true;
-  }
+  if (DAG.RegionsWithExcessRP[RegionIdx]) {
----------------
alex-t wrote:

The higher RP is necessary for the occupancy drop so it will be reverted.

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


More information about the llvm-commits mailing list