[llvm] [AMDGPU][CoExecSched] Add free-proximity scheduling heuristic (PR #225334)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 22 02:04:43 PDT 2026
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff origin/main HEAD --extensions h,cpp -- llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h --diff_from_common_commit
``````````
:warning:
The reproduction instructions above might return results for more than one PR
in a stack if you are using a stacked PR workflow. You can limit the results by
changing `origin/main` to the base branch/commit you want to compare against.
:warning:
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp b/llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
index 6e4b271a6..23e411715 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
@@ -546,9 +546,8 @@ int HardwareUnitInfo::compareRegFreeProximity(SUnit *Candidate,
auto [CurFrees, CurMinOther] = getRegStats(Existing);
auto [CandFrees, CandMinOther] = getRegStats(Candidate);
- LLVM_DEBUG(dbgs() << " Existing: frees=" << CurFrees
- << " minOther=" << CurMinOther
- << " Candidate: frees=" << CandFrees
+ LLVM_DEBUG(dbgs() << " Existing: frees=" << CurFrees << " minOther="
+ << CurMinOther << " Candidate: frees=" << CandFrees
<< " minOther=" << CandMinOther << "\n");
if (CandFrees > CurFrees) {
@@ -583,8 +582,8 @@ void HardwareUnitInfo::updatePrioritySUsWith(SUnit *Cand,
SUnit *Existing = *PrioritySUs.begin();
bool UseRegFree = CoexecRegFreeProximity == RegFreeProximityMode::Always ||
- (CoexecRegFreeProximity == RegFreeProximityMode::Auto &&
- IsCloseToRegPressureLimit);
+ (CoexecRegFreeProximity == RegFreeProximityMode::Auto &&
+ IsCloseToRegPressureLimit);
LLVM_DEBUG(dbgs() << " updatePrioritySUs: SU(" << Cand->NodeNum
<< ") vs existing SU(" << Existing->NodeNum << ")"
@@ -597,8 +596,9 @@ void HardwareUnitInfo::updatePrioritySUsWith(SUnit *Cand,
Decision = compareRegFreeProximity(Cand, Existing);
LLVM_DEBUG(dbgs() << " decision=" << Decision
- << (Decision > 0 ? " (candidate better)" :
- Decision < 0 ? " (existing better)" : " (tie)")
+ << (Decision > 0 ? " (candidate better)"
+ : Decision < 0 ? " (existing better)"
+ : " (tie)")
<< "\n");
if (Decision < 0)
@@ -844,7 +844,7 @@ void CandidateHeuristics::collectRegionSummary() {
MachineInstr *MI = SU.getInstr();
const InstructionFlavor Flavor = classifyFlavor(*MI, *SII);
HWUInfo[static_cast<int>(Flavor)].insert(&SU, getHWUICyclesForSU(&SU),
- IsCloseToRegPressureLimit);
+ IsCloseToRegPressureLimit);
unsigned CarriedLatency = getCarriedLatency(&SU);
if (CarriedLatency)
CarriedLatencies[MI] = CarriedLatency;
@@ -1323,8 +1323,8 @@ void AMDGPUCoExecSchedStrategy::pickNodeFromQueue(
VGPRPressure + MaxVGPRPressureIncFactor * MaxVGPRPressureInc >=
VGPRExcessLimit;
LLVM_DEBUG(dbgs() << "IsCloseToRegPressureLimit=" << IsCloseToRegPressureLimit
- << " (VGPR=" << VGPRPressure
- << " limit=" << VGPRExcessLimit << ")\n");
+ << " (VGPR=" << VGPRPressure << " limit=" << VGPRExcessLimit
+ << ")\n");
Heurs.setIsCloseToRegPressureLimit(IsCloseToRegPressureLimit);
if (IsCloseToRegPressureLimit)
Heurs.rebuildAllPrioritySUs();
``````````
</details>
https://github.com/llvm/llvm-project/pull/225334
More information about the llvm-commits
mailing list