Home | History | Annotate | Download | only in CodeGen

Lines Matching defs:Top

39                                   cl::desc("Force top-down list scheduling"));
139 /// Decrement this iterator until reaching the top or a non-debug instr.
142 assert(I != Beg && "reached the top of the region, cannot decrement");
161 /// Top-level MachineScheduler pass driver.
269 // scheduler for the top of it's scheduled region.
304 /// schedule the node at the top of the unscheduled region. Otherwise it will
312 /// top-down scheduling.
344 /// The top of the unscheduled zone.
374 MachineBasicBlock::iterator top() const { return CurrentTop; }
389 /// Get current register pressure for the top scheduled instructions.
535 // Setup the register pressure trackers for the top scheduled top and bottom
596 // A SUnit is ready to top schedule if it has no predecessors.
624 // Initialize top/bottom trackers after computing region pressure.
660 // Update top scheduled pressure.
849 // State of the top and bottom scheduled instruction boundaries.
850 SchedBoundary Top;
854 /// SUnit::NodeQueueId: 0 (none), 1 (top), 2 (bot), 3 (both)
862 DAG(0), TRI(0), Top(TopQID, "TopQ"), Bot(BotQID, "BotQ") {}
890 Top.DAG = dag;
896 Top.HazardRec = TM.getInstrInfo()->CreateTargetMIHazardRecognizer(Itin, DAG);
912 Top.MaxMinLatency = std::max(MinLatency, Top.MaxMinLatency);
917 Top.releaseNode(SU, SU->TopReadyCycle);
1115 /// Pick the best candidate from the top queue.
1119 /// maintain the number of vreg uses remaining to be top-scheduled.
1128 // BestSU remains NULL if no top candidates beat the best existing candidate.
1202 /// Pick the best candidate node from either the top or bottom queue.
1210 if (SUnit *SU = Top.pickOnlyChoice()) {
1231 // Check if the top Q has a better candidate.
1233 CandResult TopResult = pickNodeFromQueue(Top.Available,
1263 if (DAG->top() == DAG->bottom()) {
1264 assert(Top.Available.empty() && Top.Pending.empty() &&
1270 SU = Top.pickOnlyChoice();
1274 pickNodeFromQueue(Top.Available, DAG->getTopRPTracker(), TopCand);
1297 Top.removeReady(SU);
1301 DEBUG(dbgs() << "*** " << (IsTopNode ? "Top" : "Bottom")
1303 << (IsTopNode ? Top.CurrCycle : Bot.CurrCycle) << '\n';
1313 SU->TopReadyCycle = Top.CurrCycle;
1314 Top.bumpNode(SU);
1381 SU = TopQ.top();
1389 SU = BottomQ.top();