Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:Cand

2317 void GenericSchedulerBase::traceCandidate(const SchedCandidate &Cand) {
2321 switch (Cand.Reason) {
2325 P = Cand.RPDelta.Excess;
2328 P = Cand.RPDelta.CriticalMax;
2331 P = Cand.RPDelta.CurrentMax;
2334 ResIdx = Cand.Policy.ReduceResIdx;
2337 ResIdx = Cand.Policy.DemandResIdx;
2340 Latency = Cand.SU->getDepth();
2343 Latency = Cand.SU->getHeight();
2346 Latency = Cand.SU->getHeight();
2349 Latency = Cand.SU->getDepth();
2352 dbgs() << " Cand SU(" << Cand.SU->NodeNum << ") " << getReasonStr(Cand.Reason);
2373 GenericSchedulerBase::SchedCandidate &Cand,
2380 if (Cand.Reason > Reason)
2381 Cand.Reason = Reason;
2384 Cand.setRepeat(Reason);
2390 GenericSchedulerBase::SchedCandidate &Cand,
2397 if (Cand.Reason > Reason)
2398 Cand.Reason = Reason;
2401 Cand.setRepeat(Reason);
2406 GenericSchedulerBase::SchedCandidate &Cand,
2409 if (Cand.SU->getDepth() > Zone.getScheduledLatency()) {
2410 if (tryLess(TryCand.SU->getDepth(), Cand.SU->getDepth(),
2411 TryCand, Cand, GenericSchedulerBase::TopDepthReduce))
2414 if (tryGreater(TryCand.SU->getHeight(), Cand.SU->getHeight(),
2415 TryCand, Cand, GenericSchedulerBase::TopPathReduce))
2419 if (Cand.SU->getHeight() > Zone.getScheduledLatency()) {
2420 if (tryLess(TryCand.SU->getHeight(), Cand.SU->getHeight(),
2421 TryCand, Cand, GenericSchedulerBase::BotHeightReduce))
2424 if (tryGreater(TryCand.SU->getDepth(), Cand.SU->getDepth(),
2425 TryCand, Cand, GenericSchedulerBase::BotPathReduce))
2431 static void tracePick(const GenericSchedulerBase::SchedCandidate &Cand,
2434 << GenericSchedulerBase::getReasonStr(Cand.Reason) << '\n');
2581 GenericSchedulerBase::SchedCandidate &Cand,
2589 return tryLess(TryP.getUnitInc(), CandP.getUnitInc(), TryCand, Cand,
2594 if (tryGreater(TryP.getUnitInc() < 0, CandP.getUnitInc() < 0, TryCand, Cand,
2608 return tryGreater(TryRank, CandRank, TryCand, Cand, Reason);
2649 /// \param Cand provides the policy and current best candidate.
2654 void GenericScheduler::tryCandidate(SchedCandidate &Cand,
2694 if (!Cand.isValid()) {
2700 biasPhysRegCopy(Cand.SU, Zone.isTop()),
2701 TryCand, Cand, PhysRegCopy))
2706 Cand.RPDelta.Excess,
2707 TryCand, Cand, RegExcess, TRI,
2713 Cand.RPDelta.CriticalMax,
2714 TryCand, Cand, RegCritical, TRI,
2722 && tryLatency(TryCand, Cand, Zone))
2727 Zone.getLatencyStallCycles(Cand.SU), TryCand, Cand, Stall))
2738 if (tryGreater(TryCand.SU == NextClusterSU, Cand.SU == NextClusterSU,
2739 TryCand, Cand, Cluster))
2744 getWeakLeft(Cand.SU, Zone.isTop()),
2745 TryCand, Cand, Weak)) {
2750 Cand.RPDelta.CurrentMax,
2751 TryCand, Cand, RegMax, TRI,
2757 if (tryLess(TryCand.ResDelta.CritResources, Cand.ResDelta.CritResources,
2758 TryCand, Cand, ResourceReduce))
2761 Cand.ResDelta.DemandedResources,
2762 TryCand, Cand, ResourceDemand))
2767 if (!RegionPolicy.DisableLatencyHeuristic && Cand.Policy.ReduceLatency &&
2768 !Rem.IsAcyclicLatencyLimited && tryLatency(TryCand, Cand, Zone)) {
2775 if (tryGreater(Zone.isNextSU(TryCand.SU), Zone.isNextSU(Cand.SU),
2776 TryCand, Cand, NextDefUse))
2780 if ((Zone.isTop() && TryCand.SU->NodeNum < Cand.SU->NodeNum)
2781 || (!Zone.isTop() && TryCand.SU->NodeNum > Cand.SU->NodeNum)) {
2793 SchedCandidate &Cand) {
2803 SchedCandidate TryCand(Cand.Policy);
2805 tryCandidate(Cand, TryCand, Zone, RPTracker, TempTracker);
2810 Cand.setBest(TryCand);
2811 DEBUG(traceCandidate(Cand));
3031 /// \param Cand provides the policy and current best candidate.
3033 void PostGenericScheduler::tryCandidate(SchedCandidate &Cand,
3037 if (!Cand.isValid()) {
3044 Top.getLatencyStallCycles(Cand.SU), TryCand, Cand, Stall))
3048 if (tryLess(TryCand.ResDelta.CritResources, Cand.ResDelta.CritResources,
3049 TryCand, Cand, ResourceReduce))
3052 Cand.ResDelta.DemandedResources,
3053 TryCand, Cand, ResourceDemand))
3057 if (Cand.Policy.ReduceLatency && tryLatency(TryCand, Cand, Top)) {
3062 if (TryCand.SU->NodeNum < Cand.SU->NodeNum)
3066 void PostGenericScheduler::pickNodeFromQueue(SchedCandidate &Cand) {
3072 SchedCandidate TryCand(Cand.Policy);
3075 tryCandidate(Cand, TryCand);
3077 Cand.setBest(TryCand);
3078 DEBUG(traceCandidate(Cand));