mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-27 13:40:30 +00:00
mi-sched: Reorder Cyclicpath (latency) and CriticalMax (pressure) heuristics.
The latency based scheduling could induce spills in some cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190177 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
38e61122f2
commit
f9c2fa8341
@ -2469,16 +2469,16 @@ void ConvergingScheduler::tryCandidate(SchedCandidate &Cand,
|
||||
TryCand, Cand, RegExcess))
|
||||
return;
|
||||
|
||||
// For loops that are acyclic path limited, aggressively schedule for latency.
|
||||
if (Rem.IsAcyclicLatencyLimited && tryLatency(TryCand, Cand, Zone))
|
||||
return;
|
||||
|
||||
// Avoid increasing the max critical pressure in the scheduled region.
|
||||
if (DAG->isTrackingPressure() && tryPressure(TryCand.RPDelta.CriticalMax,
|
||||
Cand.RPDelta.CriticalMax,
|
||||
TryCand, Cand, RegCritical))
|
||||
return;
|
||||
|
||||
// For loops that are acyclic path limited, aggressively schedule for latency.
|
||||
if (Rem.IsAcyclicLatencyLimited && tryLatency(TryCand, Cand, Zone))
|
||||
return;
|
||||
|
||||
// Keep clustered nodes together to encourage downstream peephole
|
||||
// optimizations which may reduce resource requirements.
|
||||
//
|
||||
|
Loading…
Reference in New Issue
Block a user