Lines Matching defs:Cand

1378   void tryCandidate(SchedCandidate &Cand,
1393 void traceCandidate(const SchedCandidate &Cand);
1870 ConvergingScheduler::SchedCandidate &Cand,
1877 if (Cand.Reason > Reason)
1878 Cand.Reason = Reason;
1886 ConvergingScheduler::SchedCandidate &Cand,
1893 if (Cand.Reason > Reason)
1894 Cand.Reason = Reason;
1938 /// \param Cand provides the policy and current best candidate.
1943 void ConvergingScheduler::tryCandidate(SchedCandidate &Cand,
1955 if (!Cand.isValid()) {
1961 biasPhysRegCopy(Cand.SU, Zone.isTop()),
1962 TryCand, Cand, PhysRegCopy))
1967 Cand.RPDelta.Excess.UnitIncrease, TryCand, Cand, SingleExcess))
1969 if (Cand.Reason == SingleExcess)
1970 Cand.Reason = MultiPressure;
1974 Cand.RPDelta.CriticalMax.UnitIncrease,
1975 TryCand, Cand, SingleCritical))
1977 if (Cand.Reason == SingleCritical)
1978 Cand.Reason = MultiPressure;
1988 if (tryGreater(TryCand.SU == NextClusterSU, Cand.SU == NextClusterSU,
1989 TryCand, Cand, Cluster))
1994 // Deferring TryCand here does not change Cand's reason. This is good in the
1997 CandReason OrigReason = Cand.Reason;
1999 getWeakLeft(Cand.SU, Zone.isTop()),
2000 TryCand, Cand, Weak)) {
2001 Cand.Reason = OrigReason;
2006 if (tryLess(TryCand.ResDelta.CritResources, Cand.ResDelta.CritResources,
2007 TryCand, Cand, ResourceReduce))
2010 Cand.ResDelta.DemandedResources,
2011 TryCand, Cand, ResourceDemand))
2015 if (Cand.Policy.ReduceLatency) {
2017 if (Cand.SU->getDepth() * SchedModel->getLatencyFactor()
2019 if (tryLess(TryCand.SU->getDepth(), Cand.SU->getDepth(),
2020 TryCand, Cand, TopDepthReduce))
2023 if (tryGreater(TryCand.SU->getHeight(), Cand.SU->getHeight(),
2024 TryCand, Cand, TopPathReduce))
2028 if (Cand.SU->getHeight() * SchedModel->getLatencyFactor()
2030 if (tryLess(TryCand.SU->getHeight(), Cand.SU->getHeight(),
2031 TryCand, Cand, BotHeightReduce))
2034 if (tryGreater(TryCand.SU->getDepth(), Cand.SU->getDepth(),
2035 TryCand, Cand, BotPathReduce))
2042 Cand.RPDelta.CurrentMax.UnitIncrease, TryCand, Cand, SingleMax))
2044 if (Cand.Reason == SingleMax)
2045 Cand.Reason = MultiPressure;
2050 if (tryGreater(Zone.NextSUs.count(TryCand.SU), Zone.NextSUs.count(Cand.SU),
2051 TryCand, Cand, NextDefUse))
2055 if ((Zone.isTop() && TryCand.SU->NodeNum < Cand.SU->NodeNum)
2056 || (!Zone.isTop() && TryCand.SU->NodeNum > Cand.SU->NodeNum)) {
2116 void ConvergingScheduler::traceCandidate(const SchedCandidate &Cand) {
2120 switch (Cand.Reason) {
2124 P = Cand.RPDelta.Excess;
2127 P = Cand.RPDelta.CriticalMax;
2130 P = Cand.RPDelta.CurrentMax;
2133 ResIdx = Cand.Policy.ReduceResIdx;
2136 ResIdx = Cand.Policy.DemandResIdx;
2139 Latency = Cand.SU->getDepth();
2142 Latency = Cand.SU->getHeight();
2145 Latency = Cand.SU->getHeight();
2148 Latency = Cand.SU->getDepth();
2151 dbgs() << " SU(" << Cand.SU->NodeNum << ") " << getReasonStr(Cand.Reason);
2176 SchedCandidate &Cand) {
2186 SchedCandidate TryCand(Cand.Policy);
2188 tryCandidate(Cand, TryCand, Zone, RPTracker, TempTracker);
2193 Cand.setBest(TryCand);
2194 DEBUG(traceCandidate(Cand));
2199 static void tracePick(const ConvergingScheduler::SchedCandidate &Cand,
2202 << ConvergingScheduler::getReasonStr(Cand.Reason) << '\n');