Lines Matching defs:su
54 /// of SU, return it, otherwise return null.
55 SUnit *LatencyPriorityQueue::getSingleUnscheduledPred(SUnit *SU) {
57 for (SUnit::const_pred_iterator I = SU->Preds.begin(), E = SU->Preds.end();
72 void LatencyPriorityQueue::push(SUnit *SU) {
76 for (SUnit::const_succ_iterator I = SU->Succs.begin(), E = SU->Succs.end();
78 if (getSingleUnscheduledPred(I->getSUnit()) == SU)
81 NumNodesSolelyBlocking[SU->NodeNum] = NumNodesBlocking;
83 Queue.push_back(SU);
91 void LatencyPriorityQueue::scheduledNode(SUnit *SU) {
92 for (SUnit::const_succ_iterator I = SU->Succs.begin(), E = SU->Succs.end();
98 /// AdjustPriorityOfUnscheduledPreds - One of the predecessors of SU was just
99 /// scheduled. If SU is not itself available, then there is at least one
100 /// predecessor node that has not been scheduled yet. If SU has exactly ONE
104 void LatencyPriorityQueue::AdjustPriorityOfUnscheduledPreds(SUnit *SU) {
105 if (SU->isAvailable) return; // All preds scheduled.
107 SUnit *OnlyAvailablePred = getSingleUnscheduledPred(SU);
133 void LatencyPriorityQueue::remove(SUnit *SU) {
135 std::vector<SUnit *>::iterator I = std::find(Queue.begin(), Queue.end(), SU);
147 SUnit *su = q.pop();
148 dbgs() << "Height " << su->getHeight() << ": ";
149 su->dump(DAG);