• Home
  • Raw
  • Download

Lines Matching refs:SU

183     SUnit *SU = WorkList.pop_back_val();  in setDepthDirty()  local
184 SU->isDepthCurrent = false; in setDepthDirty()
185 for (SUnit::const_succ_iterator I = SU->Succs.begin(), in setDepthDirty()
186 E = SU->Succs.end(); I != E; ++I) { in setDepthDirty()
199 SUnit *SU = WorkList.pop_back_val(); in setHeightDirty() local
200 SU->isHeightCurrent = false; in setHeightDirty()
201 for (SUnit::const_pred_iterator I = SU->Preds.begin(), in setHeightDirty()
202 E = SU->Preds.end(); I != E; ++I) { in setHeightDirty()
471 SUnit *SU = &SUnits[i]; in InitDAGTopologicalSorting() local
472 int NodeNum = SU->NodeNum; in InitDAGTopologicalSorting()
473 unsigned Degree = SU->Succs.size(); in InitDAGTopologicalSorting()
479 assert(SU->Succs.empty() && "SUnit should have no successors"); in InitDAGTopologicalSorting()
481 WorkList.push_back(SU); in InitDAGTopologicalSorting()
487 SUnit *SU = WorkList.back(); in InitDAGTopologicalSorting() local
489 if (SU->NodeNum < DAGSize) in InitDAGTopologicalSorting()
490 Allocate(SU->NodeNum, --Id); in InitDAGTopologicalSorting()
491 for (SUnit::const_pred_iterator I = SU->Preds.begin(), E = SU->Preds.end(); in InitDAGTopologicalSorting()
493 SUnit *SU = I->getSUnit(); in InitDAGTopologicalSorting() local
494 if (SU->NodeNum < DAGSize && !--Node2Index[SU->NodeNum]) in InitDAGTopologicalSorting()
497 WorkList.push_back(SU); in InitDAGTopologicalSorting()
506 SUnit *SU = &SUnits[i]; in InitDAGTopologicalSorting() local
507 for (SUnit::const_pred_iterator I = SU->Preds.begin(), E = SU->Preds.end(); in InitDAGTopologicalSorting()
509 assert(Node2Index[SU->NodeNum] > Node2Index[I->getSUnit()->NodeNum] && in InitDAGTopologicalSorting()
544 void ScheduleDAGTopologicalSort::DFS(const SUnit *SU, int UpperBound, in DFS() argument
549 WorkList.push_back(SU); in DFS()
551 SU = WorkList.back(); in DFS()
553 Visited.set(SU->NodeNum); in DFS()
554 for (int I = SU->Succs.size()-1; I >= 0; --I) { in DFS()
555 unsigned s = SU->Succs[I].getSUnit()->NodeNum; in DFS()
565 WorkList.push_back(SU->Succs[I].getSUnit()); in DFS()
601 bool ScheduleDAGTopologicalSort::WillCreateCycle(SUnit *TargetSU, SUnit *SU) { in WillCreateCycle() argument
603 if (IsReachable(SU, TargetSU)) in WillCreateCycle()
608 IsReachable(SU, I->getSUnit())) in WillCreateCycle()
614 bool ScheduleDAGTopologicalSort::IsReachable(const SUnit *SU, in IsReachable() argument
620 UpperBound = Node2Index[SU->NodeNum]; in IsReachable()