Lines Matching refs:TryCand
2824 GenericSchedulerBase::SchedCandidate &TryCand, in tryLess() argument
2828 TryCand.Reason = Reason; in tryLess()
2840 GenericSchedulerBase::SchedCandidate &TryCand, in tryGreater() argument
2844 TryCand.Reason = Reason; in tryGreater()
2855 bool tryLatency(GenericSchedulerBase::SchedCandidate &TryCand, in tryLatency() argument
2862 if (std::max(TryCand.SU->getDepth(), Cand.SU->getDepth()) > in tryLatency()
2864 if (tryLess(TryCand.SU->getDepth(), Cand.SU->getDepth(), in tryLatency()
2865 TryCand, Cand, GenericSchedulerBase::TopDepthReduce)) in tryLatency()
2868 if (tryGreater(TryCand.SU->getHeight(), Cand.SU->getHeight(), in tryLatency()
2869 TryCand, Cand, GenericSchedulerBase::TopPathReduce)) in tryLatency()
2875 if (std::max(TryCand.SU->getHeight(), Cand.SU->getHeight()) > in tryLatency()
2877 if (tryLess(TryCand.SU->getHeight(), Cand.SU->getHeight(), in tryLatency()
2878 TryCand, Cand, GenericSchedulerBase::BotHeightReduce)) in tryLatency()
2881 if (tryGreater(TryCand.SU->getDepth(), Cand.SU->getDepth(), in tryLatency()
2882 TryCand, Cand, GenericSchedulerBase::BotPathReduce)) in tryLatency()
3050 GenericSchedulerBase::SchedCandidate &TryCand, in tryPressure() argument
3057 if (tryGreater(TryP.getUnitInc() < 0, CandP.getUnitInc() < 0, TryCand, Cand, in tryPressure()
3063 if (Cand.AtTop != TryCand.AtTop) in tryPressure()
3071 return tryLess(TryP.getUnitInc(), CandP.getUnitInc(), TryCand, Cand, in tryPressure()
3084 return tryGreater(TryRank, CandRank, TryCand, Cand, Reason); in tryPressure()
3184 SchedCandidate &TryCand, in tryCandidate() argument
3188 TryCand.Reason = NodeOrder; in tryCandidate()
3193 if (tryGreater(biasPhysReg(TryCand.SU, TryCand.AtTop), in tryCandidate()
3194 biasPhysReg(Cand.SU, Cand.AtTop), TryCand, Cand, PhysReg)) in tryCandidate()
3195 return TryCand.Reason != NoCand; in tryCandidate()
3198 if (DAG->isTrackingPressure() && tryPressure(TryCand.RPDelta.Excess, in tryCandidate()
3200 TryCand, Cand, RegExcess, TRI, in tryCandidate()
3202 return TryCand.Reason != NoCand; in tryCandidate()
3205 if (DAG->isTrackingPressure() && tryPressure(TryCand.RPDelta.CriticalMax, in tryCandidate()
3207 TryCand, Cand, RegCritical, TRI, in tryCandidate()
3209 return TryCand.Reason != NoCand; in tryCandidate()
3222 tryLatency(TryCand, Cand, *Zone)) in tryCandidate()
3223 return TryCand.Reason != NoCand; in tryCandidate()
3226 if (tryLess(Zone->getLatencyStallCycles(TryCand.SU), in tryCandidate()
3227 Zone->getLatencyStallCycles(Cand.SU), TryCand, Cand, Stall)) in tryCandidate()
3228 return TryCand.Reason != NoCand; in tryCandidate()
3240 TryCand.AtTop ? DAG->getNextClusterSucc() : DAG->getNextClusterPred(); in tryCandidate()
3241 if (tryGreater(TryCand.SU == TryCandNextClusterSU, in tryCandidate()
3243 TryCand, Cand, Cluster)) in tryCandidate()
3244 return TryCand.Reason != NoCand; in tryCandidate()
3248 if (tryLess(getWeakLeft(TryCand.SU, TryCand.AtTop), in tryCandidate()
3250 TryCand, Cand, Weak)) in tryCandidate()
3251 return TryCand.Reason != NoCand; in tryCandidate()
3255 if (DAG->isTrackingPressure() && tryPressure(TryCand.RPDelta.CurrentMax, in tryCandidate()
3257 TryCand, Cand, RegMax, TRI, in tryCandidate()
3259 return TryCand.Reason != NoCand; in tryCandidate()
3263 TryCand.initResourceDelta(DAG, SchedModel); in tryCandidate()
3264 if (tryLess(TryCand.ResDelta.CritResources, Cand.ResDelta.CritResources, in tryCandidate()
3265 TryCand, Cand, ResourceReduce)) in tryCandidate()
3266 return TryCand.Reason != NoCand; in tryCandidate()
3267 if (tryGreater(TryCand.ResDelta.DemandedResources, in tryCandidate()
3269 TryCand, Cand, ResourceDemand)) in tryCandidate()
3270 return TryCand.Reason != NoCand; in tryCandidate()
3274 if (!RegionPolicy.DisableLatencyHeuristic && TryCand.Policy.ReduceLatency && in tryCandidate()
3275 !Rem.IsAcyclicLatencyLimited && tryLatency(TryCand, Cand, *Zone)) in tryCandidate()
3276 return TryCand.Reason != NoCand; in tryCandidate()
3279 if ((Zone->isTop() && TryCand.SU->NodeNum < Cand.SU->NodeNum) in tryCandidate()
3280 || (!Zone->isTop() && TryCand.SU->NodeNum > Cand.SU->NodeNum)) { in tryCandidate()
3281 TryCand.Reason = NodeOrder; in tryCandidate()
3304 SchedCandidate TryCand(ZonePolicy); in pickNodeFromQueue() local
3305 initCandidate(TryCand, SU, Zone.isTop(), RPTracker, TempTracker); in pickNodeFromQueue()
3307 SchedBoundary *ZoneArg = Cand.AtTop == TryCand.AtTop ? &Zone : nullptr; in pickNodeFromQueue()
3308 if (tryCandidate(Cand, TryCand, ZoneArg)) { in pickNodeFromQueue()
3310 if (TryCand.ResDelta == SchedResourceDelta()) in pickNodeFromQueue()
3311 TryCand.initResourceDelta(DAG, SchedModel); in pickNodeFromQueue()
3312 Cand.setBest(TryCand); in pickNodeFromQueue()
3552 SchedCandidate &TryCand) { in tryCandidate() argument
3555 TryCand.Reason = NodeOrder; in tryCandidate()
3560 if (tryLess(Top.getLatencyStallCycles(TryCand.SU), in tryCandidate()
3561 Top.getLatencyStallCycles(Cand.SU), TryCand, Cand, Stall)) in tryCandidate()
3562 return TryCand.Reason != NoCand; in tryCandidate()
3565 if (tryGreater(TryCand.SU == DAG->getNextClusterSucc(), in tryCandidate()
3567 TryCand, Cand, Cluster)) in tryCandidate()
3568 return TryCand.Reason != NoCand; in tryCandidate()
3571 if (tryLess(TryCand.ResDelta.CritResources, Cand.ResDelta.CritResources, in tryCandidate()
3572 TryCand, Cand, ResourceReduce)) in tryCandidate()
3573 return TryCand.Reason != NoCand; in tryCandidate()
3574 if (tryGreater(TryCand.ResDelta.DemandedResources, in tryCandidate()
3576 TryCand, Cand, ResourceDemand)) in tryCandidate()
3577 return TryCand.Reason != NoCand; in tryCandidate()
3580 if (Cand.Policy.ReduceLatency && tryLatency(TryCand, Cand, Top)) { in tryCandidate()
3581 return TryCand.Reason != NoCand; in tryCandidate()
3585 if (TryCand.SU->NodeNum < Cand.SU->NodeNum) { in tryCandidate()
3586 TryCand.Reason = NodeOrder; in tryCandidate()
3596 SchedCandidate TryCand(Cand.Policy); in pickNodeFromQueue() local
3597 TryCand.SU = SU; in pickNodeFromQueue()
3598 TryCand.AtTop = true; in pickNodeFromQueue()
3599 TryCand.initResourceDelta(DAG, SchedModel); in pickNodeFromQueue()
3600 if (tryCandidate(Cand, TryCand)) { in pickNodeFromQueue()
3601 Cand.setBest(TryCand); in pickNodeFromQueue()