Lines Matching refs:SU
55 /// of SU, return it, otherwise return null.
56 SUnit *LatencyPriorityQueue::getSingleUnscheduledPred(SUnit *SU) {
58 for (SUnit::const_pred_iterator I = SU->Preds.begin(), E = SU->Preds.end();
73 void LatencyPriorityQueue::push(SUnit *SU) {
77 for (SUnit::const_succ_iterator I = SU->Succs.begin(), E = SU->Succs.end();
79 if (getSingleUnscheduledPred(I->getSUnit()) == SU)
82 NumNodesSolelyBlocking[SU->NodeNum] = NumNodesBlocking;
84 Queue.push_back(SU);
92 void LatencyPriorityQueue::scheduledNode(SUnit *SU) {
93 for (SUnit::const_succ_iterator I = SU->Succs.begin(), E = SU->Succs.end();
99 /// AdjustPriorityOfUnscheduledPreds - One of the predecessors of SU was just
100 /// scheduled. If SU is not itself available, then there is at least one
101 /// predecessor node that has not been scheduled yet. If SU has exactly ONE
105 void LatencyPriorityQueue::AdjustPriorityOfUnscheduledPreds(SUnit *SU) {
106 if (SU->isAvailable) return; // All preds scheduled.
108 SUnit *OnlyAvailablePred = getSingleUnscheduledPred(SU);
134 void LatencyPriorityQueue::remove(SUnit *SU) {
136 std::vector<SUnit *>::iterator I = std::find(Queue.begin(), Queue.end(), SU);
148 SUnit *su = q.pop();
149 dbgs() << "Height " << su->getHeight() << ": ";
150 su->dump(DAG);