Lines Matching defs:SU
29 for (auto &SU : *this) {
30 HazardRec.dumpSU(SU, dbgs());
31 if (SU != *rbegin())
176 for (auto *SU : Available) {
178 // SU is the next candidate to be compared against current Best.
179 Candidate c(SU, *HazardRec);
181 // Remeber which SU is the best candidate.
182 if (Best.SU == nullptr || c < Best) {
187 LLVM_DEBUG(HazardRec->dumpSU(c.SU, dbgs()); c.dumpCosts();
188 dbgs() << " Height:" << c.SU->getHeight(); dbgs() << "\n";);
192 if (!SU->isScheduleHigh && Best.noCost())
196 assert (Best.SU != nullptr);
197 return Best.SU;
202 SU = SU_;
207 GroupingCost = HazardRec.groupingCost(SU);
209 // Check the resources cost for this SU.
210 ResourcesCost = HazardRec.resourcesCost(SU);
228 // Higher SU is otherwise generally better.
229 if (SU->getHeight() > other.SU->getHeight())
231 if (SU->getHeight() < other.SU->getHeight())
235 if (SU->NodeNum < other.SU->NodeNum)
241 void SystemZPostRASchedStrategy::schedNode(SUnit *SU, bool IsTopNode) {
242 LLVM_DEBUG(dbgs() << "** Scheduling SU(" << SU->NodeNum << ") ";
244 Candidate c(SU, *HazardRec); c.dumpCosts(); dbgs() << "\n";);
246 // Remove SU from Available set and update HazardRec.
247 Available.erase(SU);
248 HazardRec->EmitInstruction(SU);
251 void SystemZPostRASchedStrategy::releaseTopNode(SUnit *SU) {
254 const MCSchedClassDesc *SC = HazardRec->getSchedClass(SU);
256 SU->isScheduleHigh = (AffectsGrouping || SU->isUnbuffered);
259 Available.insert(SU);