Lines Matching refs:TryCand
2372 GenericSchedulerBase::SchedCandidate &TryCand, in tryLess() argument
2376 TryCand.Reason = Reason; in tryLess()
2389 GenericSchedulerBase::SchedCandidate &TryCand, in tryGreater() argument
2393 TryCand.Reason = Reason; in tryGreater()
2405 static bool tryLatency(GenericSchedulerBase::SchedCandidate &TryCand, in tryLatency() argument
2410 if (tryLess(TryCand.SU->getDepth(), Cand.SU->getDepth(), in tryLatency()
2411 TryCand, Cand, GenericSchedulerBase::TopDepthReduce)) in tryLatency()
2414 if (tryGreater(TryCand.SU->getHeight(), Cand.SU->getHeight(), in tryLatency()
2415 TryCand, Cand, GenericSchedulerBase::TopPathReduce)) in tryLatency()
2420 if (tryLess(TryCand.SU->getHeight(), Cand.SU->getHeight(), in tryLatency()
2421 TryCand, Cand, GenericSchedulerBase::BotHeightReduce)) in tryLatency()
2424 if (tryGreater(TryCand.SU->getDepth(), Cand.SU->getDepth(), in tryLatency()
2425 TryCand, Cand, GenericSchedulerBase::BotPathReduce)) in tryLatency()
2580 GenericSchedulerBase::SchedCandidate &TryCand, in tryPressure() argument
2589 return tryLess(TryP.getUnitInc(), CandP.getUnitInc(), TryCand, Cand, in tryPressure()
2594 if (tryGreater(TryP.getUnitInc() < 0, CandP.getUnitInc() < 0, TryCand, Cand, in tryPressure()
2608 return tryGreater(TryRank, CandRank, TryCand, Cand, Reason); in tryPressure()
2655 SchedCandidate &TryCand, in tryCandidate() argument
2664 TryCand.SU->getInstr(), in tryCandidate()
2665 TryCand.RPDelta, in tryCandidate()
2672 TryCand.SU->getInstr(), in tryCandidate()
2673 &DAG->getPressureDiff(TryCand.SU), in tryCandidate()
2674 TryCand.RPDelta, in tryCandidate()
2680 TryCand.SU->getInstr(), in tryCandidate()
2681 DAG->getPressureDiff(TryCand.SU), in tryCandidate()
2682 TryCand.RPDelta, in tryCandidate()
2688 DEBUG(if (TryCand.RPDelta.Excess.isValid()) in tryCandidate()
2689 dbgs() << " Try SU(" << TryCand.SU->NodeNum << ") " in tryCandidate()
2690 << TRI->getRegPressureSetName(TryCand.RPDelta.Excess.getPSet()) in tryCandidate()
2691 << ":" << TryCand.RPDelta.Excess.getUnitInc() << "\n"); in tryCandidate()
2695 TryCand.Reason = NodeOrder; in tryCandidate()
2699 if (tryGreater(biasPhysRegCopy(TryCand.SU, Zone.isTop()), in tryCandidate()
2701 TryCand, Cand, PhysRegCopy)) in tryCandidate()
2705 if (DAG->isTrackingPressure() && tryPressure(TryCand.RPDelta.Excess, in tryCandidate()
2707 TryCand, Cand, RegExcess, TRI, in tryCandidate()
2712 if (DAG->isTrackingPressure() && tryPressure(TryCand.RPDelta.CriticalMax, in tryCandidate()
2714 TryCand, Cand, RegCritical, TRI, in tryCandidate()
2722 && tryLatency(TryCand, Cand, Zone)) in tryCandidate()
2726 if (tryLess(Zone.getLatencyStallCycles(TryCand.SU), in tryCandidate()
2727 Zone.getLatencyStallCycles(Cand.SU), TryCand, Cand, Stall)) in tryCandidate()
2738 if (tryGreater(TryCand.SU == NextClusterSU, Cand.SU == NextClusterSU, in tryCandidate()
2739 TryCand, Cand, Cluster)) in tryCandidate()
2743 if (tryLess(getWeakLeft(TryCand.SU, Zone.isTop()), in tryCandidate()
2745 TryCand, Cand, Weak)) { in tryCandidate()
2749 if (DAG->isTrackingPressure() && tryPressure(TryCand.RPDelta.CurrentMax, in tryCandidate()
2751 TryCand, Cand, RegMax, TRI, in tryCandidate()
2756 TryCand.initResourceDelta(DAG, SchedModel); in tryCandidate()
2757 if (tryLess(TryCand.ResDelta.CritResources, Cand.ResDelta.CritResources, in tryCandidate()
2758 TryCand, Cand, ResourceReduce)) in tryCandidate()
2760 if (tryGreater(TryCand.ResDelta.DemandedResources, in tryCandidate()
2762 TryCand, Cand, ResourceDemand)) in tryCandidate()
2768 !Rem.IsAcyclicLatencyLimited && tryLatency(TryCand, Cand, Zone)) { in tryCandidate()
2775 if (tryGreater(Zone.isNextSU(TryCand.SU), Zone.isNextSU(Cand.SU), in tryCandidate()
2776 TryCand, Cand, NextDefUse)) in tryCandidate()
2780 if ((Zone.isTop() && TryCand.SU->NodeNum < Cand.SU->NodeNum) in tryCandidate()
2781 || (!Zone.isTop() && TryCand.SU->NodeNum > Cand.SU->NodeNum)) { in tryCandidate()
2782 TryCand.Reason = NodeOrder; in tryCandidate()
2803 SchedCandidate TryCand(Cand.Policy); in pickNodeFromQueue() local
2804 TryCand.SU = *I; in pickNodeFromQueue()
2805 tryCandidate(Cand, TryCand, Zone, RPTracker, TempTracker); in pickNodeFromQueue()
2806 if (TryCand.Reason != NoCand) { in pickNodeFromQueue()
2808 if (TryCand.ResDelta == SchedResourceDelta()) in pickNodeFromQueue()
2809 TryCand.initResourceDelta(DAG, SchedModel); in pickNodeFromQueue()
2810 Cand.setBest(TryCand); in pickNodeFromQueue()
3034 SchedCandidate &TryCand) { in tryCandidate() argument
3038 TryCand.Reason = NodeOrder; in tryCandidate()
3043 if (tryLess(Top.getLatencyStallCycles(TryCand.SU), in tryCandidate()
3044 Top.getLatencyStallCycles(Cand.SU), TryCand, Cand, Stall)) in tryCandidate()
3048 if (tryLess(TryCand.ResDelta.CritResources, Cand.ResDelta.CritResources, in tryCandidate()
3049 TryCand, Cand, ResourceReduce)) in tryCandidate()
3051 if (tryGreater(TryCand.ResDelta.DemandedResources, in tryCandidate()
3053 TryCand, Cand, ResourceDemand)) in tryCandidate()
3057 if (Cand.Policy.ReduceLatency && tryLatency(TryCand, Cand, Top)) { in tryCandidate()
3062 if (TryCand.SU->NodeNum < Cand.SU->NodeNum) in tryCandidate()
3063 TryCand.Reason = NodeOrder; in tryCandidate()
3072 SchedCandidate TryCand(Cand.Policy); in pickNodeFromQueue() local
3073 TryCand.SU = *I; in pickNodeFromQueue()
3074 TryCand.initResourceDelta(DAG, SchedModel); in pickNodeFromQueue()
3075 tryCandidate(Cand, TryCand); in pickNodeFromQueue()
3076 if (TryCand.Reason != NoCand) { in pickNodeFromQueue()
3077 Cand.setBest(TryCand); in pickNodeFromQueue()