Lines Matching defs:Cand
141 SISchedulerCandidate &Cand,
148 if (Cand.Reason > Reason)
149 Cand.Reason = Reason;
152 Cand.setRepeat(Reason);
158 SISchedulerCandidate &Cand,
165 if (Cand.Reason > Reason)
166 Cand.Reason = Reason;
169 Cand.setRepeat(Reason);
182 void SIScheduleBlock::traceCandidate(const SISchedCandidate &Cand) {
184 dbgs() << " SU(" << Cand.SU->NodeNum << ") " << getReasonStr(Cand.Reason);
189 void SIScheduleBlock::tryCandidateTopDown(SISchedCandidate &Cand,
192 if (!Cand.isValid()) {
197 if (Cand.SGPRUsage > 60 &&
198 SISched::tryLess(TryCand.SGPRUsage, Cand.SGPRUsage,
199 TryCand, Cand, RegUsage))
218 Cand.HasLowLatencyNonWaitedParent,
219 TryCand, Cand, SIScheduleCandReason::Depth))
222 if (SISched::tryGreater(TryCand.IsLowLatency, Cand.IsLowLatency,
223 TryCand, Cand, SIScheduleCandReason::Depth))
227 SISched::tryLess(TryCand.LowLatencyOffset, Cand.LowLatencyOffset,
228 TryCand, Cand, SIScheduleCandReason::Depth))
231 if (SISched::tryLess(TryCand.VGPRUsage, Cand.VGPRUsage,
232 TryCand, Cand, RegUsage))
236 if (TryCand.SU->NodeNum < Cand.SU->NodeNum) {
1514 bool SIScheduleBlockScheduler::tryCandidateLatency(SIBlockSchedCandidate &Cand,
1516 if (!Cand.isValid()) {
1523 Cand.LastPosHighLatParentScheduled, TryCand, Cand, Latency))
1526 if (SISched::tryGreater(TryCand.IsHighLatency, Cand.IsHighLatency,
1527 TryCand, Cand, Latency))
1529 if (TryCand.IsHighLatency && SISched::tryGreater(TryCand.Height, Cand.Height,
1530 TryCand, Cand, Depth))
1533 Cand.NumHighLatencySuccessors,
1534 TryCand, Cand, Successor))
1539 bool SIScheduleBlockScheduler::tryCandidateRegUsage(SIBlockSchedCandidate &Cand,
1541 if (!Cand.isValid()) {
1546 if (SISched::tryLess(TryCand.VGPRUsageDiff > 0, Cand.VGPRUsageDiff > 0,
1547 TryCand, Cand, RegUsage))
1550 Cand.NumSuccessors > 0,
1551 TryCand, Cand, Successor))
1553 if (SISched::tryGreater(TryCand.Height, Cand.Height, TryCand, Cand, Depth))
1555 if (SISched::tryLess(TryCand.VGPRUsageDiff, Cand.VGPRUsageDiff,
1556 TryCand, Cand, RegUsage))
1562 SIBlockSchedCandidate Cand;
1584 Cand.Block = nullptr;
1604 if (!tryCandidateRegUsage(Cand, TryCand) &&
1606 tryCandidateLatency(Cand, TryCand);
1608 if (!tryCandidateLatency(Cand, TryCand))
1609 tryCandidateRegUsage(Cand, TryCand);
1612 Cand.setBest(TryCand);
1614 LLVM_DEBUG(dbgs() << "Best Current Choice: " << Cand.Block->getID() << ' '
1615 << getReasonStr(Cand.Reason) << '\n');
1619 LLVM_DEBUG(dbgs() << "Picking: " << Cand.Block->getID() << '\n';
1621 << (Cand.IsHighLatency ? "yes\n" : "no\n");
1623 << Cand.LastPosHighLatParentScheduled << '\n';
1624 dbgs() << "VGPRUsageDiff: " << Cand.VGPRUsageDiff << '\n';
1627 Block = Cand.Block;