Lines Matching refs:Cand
119 void GCNSchedStrategy::initCandidate(SchedCandidate &Cand, SUnit *SU, in initCandidate() argument
125 Cand.SU = SU; in initCandidate()
126 Cand.AtTop = AtTop; in initCandidate()
173 Cand.RPDelta.Excess = PressureChange(AMDGPU::RegisterPressureSets::VGPR_32); in initCandidate()
174 Cand.RPDelta.Excess.setUnitInc(NewVGPRPressure - VGPRExcessLimit); in initCandidate()
179 Cand.RPDelta.Excess = PressureChange(AMDGPU::RegisterPressureSets::SReg_32); in initCandidate()
180 Cand.RPDelta.Excess.setUnitInc(NewSGPRPressure - SGPRExcessLimit); in initCandidate()
194 Cand.RPDelta.CriticalMax = in initCandidate()
196 Cand.RPDelta.CriticalMax.setUnitInc(SGPRDelta); in initCandidate()
198 Cand.RPDelta.CriticalMax = in initCandidate()
200 Cand.RPDelta.CriticalMax.setUnitInc(VGPRDelta); in initCandidate()
210 SchedCandidate &Cand) { in pickNodeFromQueue() argument
226 SchedBoundary *ZoneArg = Cand.AtTop == TryCand.AtTop ? &Zone : nullptr; in pickNodeFromQueue()
227 tryCandidate(Cand, TryCand, ZoneArg); in pickNodeFromQueue()
232 Cand.setBest(TryCand); in pickNodeFromQueue()
233 LLVM_DEBUG(traceCandidate(Cand)); in pickNodeFromQueue()
303 SchedCandidate Cand = BotCand; in pickNodeBidirectional() local
305 tryCandidate(Cand, TopCand, nullptr); in pickNodeBidirectional()
307 Cand.setBest(TopCand); in pickNodeBidirectional()
309 LLVM_DEBUG(dbgs() << "Picking: "; traceCandidate(Cand);); in pickNodeBidirectional()
311 IsTopNode = Cand.AtTop; in pickNodeBidirectional()
312 return Cand.SU; in pickNodeBidirectional()
399 bool GCNMaxILPSchedStrategy::tryCandidate(SchedCandidate &Cand, in tryCandidate() argument
403 if (!Cand.isValid()) { in tryCandidate()
410 tryPressure(TryCand.RPDelta.Excess, Cand.RPDelta.Excess, TryCand, Cand, in tryCandidate()
416 biasPhysReg(Cand.SU, Cand.AtTop), TryCand, Cand, PhysReg)) in tryCandidate()
423 Zone->getLatencyStallCycles(Cand.SU), TryCand, Cand, Stall)) in tryCandidate()
428 if (tryLess(TryCand.ResDelta.CritResources, Cand.ResDelta.CritResources, in tryCandidate()
429 TryCand, Cand, ResourceReduce)) in tryCandidate()
432 Cand.ResDelta.DemandedResources, TryCand, Cand, in tryCandidate()
437 if (tryLatency(TryCand, Cand, *Zone)) in tryCandidate()
442 getWeakLeft(Cand.SU, Cand.AtTop), TryCand, Cand, Weak)) in tryCandidate()
453 Cand.AtTop ? DAG->getNextClusterSucc() : DAG->getNextClusterPred(); in tryCandidate()
457 Cand.SU == CandNextClusterSU, TryCand, Cand, Cluster)) in tryCandidate()
462 tryPressure(TryCand.RPDelta.CriticalMax, Cand.RPDelta.CriticalMax, in tryCandidate()
463 TryCand, Cand, RegCritical, TRI, DAG->MF)) in tryCandidate()
468 tryPressure(TryCand.RPDelta.CurrentMax, Cand.RPDelta.CurrentMax, TryCand, in tryCandidate()
469 Cand, RegMax, TRI, DAG->MF)) in tryCandidate()
474 if ((Zone->isTop() && TryCand.SU->NodeNum < Cand.SU->NodeNum) || in tryCandidate()
475 (!Zone->isTop() && TryCand.SU->NodeNum > Cand.SU->NodeNum)) { in tryCandidate()