Lines Matching defs:Candidate
525 const RegPressureTracker &RPTracker, SchedCandidate &Candidate,
538 SchedulingCost(Q, *I, Candidate, RPDelta, true);
597 SchedCandidate &Candidate,
771 SchedCandidate &Candidate) {
774 readyQueueVerboseDump(RPTracker, Candidate, Q);
788 int CurrentCost = SchedulingCost(Q, *I, Candidate, RPDelta, false);
791 if (!Candidate.SU) {
793 Candidate.SU = *I;
794 Candidate.RPDelta = RPDelta;
795 Candidate.SCost = CurrentCost;
802 if (CurrentCost < 0 && Candidate.SCost < 0) {
803 if ((Q.getID() == TopQID && (*I)->NodeNum < Candidate.SU->NodeNum) ||
804 (Q.getID() == BotQID && (*I)->NodeNum > Candidate.SU->NodeNum)) {
806 Candidate.SU = *I;
807 Candidate.RPDelta = RPDelta;
808 Candidate.SCost = CurrentCost;
815 if (CurrentCost > Candidate.SCost) {
817 Candidate.SU = *I;
818 Candidate.RPDelta = RPDelta;
819 Candidate.SCost = CurrentCost;
826 unsigned CandWeak = getWeakLeft(Candidate.SU, (Q.getID() == TopQID));
830 Candidate.SU = *I;
831 Candidate.RPDelta = RPDelta;
832 Candidate.SCost = CurrentCost;
838 if (CurrentCost == Candidate.SCost && Zone.isLatencyBound(*I)) {
842 CandSize = Candidate.SU->Succs.size();
845 CandSize = Candidate.SU->Preds.size();
849 Candidate.SU = *I;
850 Candidate.RPDelta = RPDelta;
851 Candidate.SCost = CurrentCost;
863 if (UseNewerCandidate && CurrentCost == Candidate.SCost) {
864 if ((Q.getID() == TopQID && (*I)->NodeNum < Candidate.SU->NodeNum) ||
865 (Q.getID() == BotQID && (*I)->NodeNum > Candidate.SU->NodeNum)) {
867 Candidate.SU = *I;
868 Candidate.RPDelta = RPDelta;
869 Candidate.SCost = CurrentCost;
876 // Only consider node order if Candidate was chosen from this Q.