Lines Matching refs:SUnit
62 EntrySU = SUnit(); in clearDAG()
63 ExitSU = SUnit(); in clearDAG()
103 bool SUnit::addPred(const SDep &D, bool Required) { in addPred()
114 SUnit *PredSU = PredDep.getSUnit(); in addPred()
132 SUnit *N = D.getSUnit(); in addPred()
171 void SUnit::removePred(const SDep &D) { in removePred()
179 SUnit *N = D.getSUnit(); in removePred()
213 void SUnit::setDepthDirty() { in setDepthDirty()
215 SmallVector<SUnit*, 8> WorkList; in setDepthDirty()
218 SUnit *SU = WorkList.pop_back_val(); in setDepthDirty()
221 SUnit *SuccSU = SuccDep.getSUnit(); in setDepthDirty()
228 void SUnit::setHeightDirty() { in setHeightDirty()
230 SmallVector<SUnit*, 8> WorkList; in setHeightDirty()
233 SUnit *SU = WorkList.pop_back_val(); in setHeightDirty()
236 SUnit *PredSU = PredDep.getSUnit(); in setHeightDirty()
243 void SUnit::setDepthToAtLeast(unsigned NewDepth) { in setDepthToAtLeast()
251 void SUnit::setHeightToAtLeast(unsigned NewHeight) { in setHeightToAtLeast()
260 void SUnit::ComputeDepth() { in ComputeDepth()
261 SmallVector<SUnit*, 8> WorkList; in ComputeDepth()
264 SUnit *Cur = WorkList.back(); in ComputeDepth()
269 SUnit *PredSU = PredDep.getSUnit(); in ComputeDepth()
291 void SUnit::ComputeHeight() { in ComputeHeight()
292 SmallVector<SUnit*, 8> WorkList; in ComputeHeight()
295 SUnit *Cur = WorkList.back(); in ComputeHeight()
300 SUnit *SuccSU = SuccDep.getSUnit(); in ComputeHeight()
321 void SUnit::biasCriticalPath() { in biasCriticalPath()
325 SUnit::pred_iterator BestI = Preds.begin(); in biasCriticalPath()
327 for (SUnit::pred_iterator I = std::next(BestI), E = Preds.end(); I != E; in biasCriticalPath()
337 LLVM_DUMP_METHOD void SUnit::dumpAttributes() const { in dumpAttributes()
350 LLVM_DUMP_METHOD void ScheduleDAG::dumpNodeName(const SUnit &SU) const { in dumpNodeName()
359 LLVM_DUMP_METHOD void ScheduleDAG::dumpNodeAll(const SUnit &SU) const { in dumpNodeAll()
389 for (const SUnit &SUnit : SUnits) { in VerifyScheduledDAG() local
390 if (!SUnit.isScheduled) { in VerifyScheduledDAG()
391 if (SUnit.NumPreds == 0 && SUnit.NumSuccs == 0) { in VerifyScheduledDAG()
397 dumpNode(SUnit); in VerifyScheduledDAG()
401 if (SUnit.isScheduled && in VerifyScheduledDAG()
402 (isBottomUp ? SUnit.getHeight() : SUnit.getDepth()) > in VerifyScheduledDAG()
406 dumpNode(SUnit); in VerifyScheduledDAG()
412 if (SUnit.NumSuccsLeft != 0) { in VerifyScheduledDAG()
415 dumpNode(SUnit); in VerifyScheduledDAG()
420 if (SUnit.NumPredsLeft != 0) { in VerifyScheduledDAG()
423 dumpNode(SUnit); in VerifyScheduledDAG()
462 std::vector<SUnit*> WorkList; in InitDAGTopologicalSorting()
471 for (SUnit &SU : SUnits) { in InitDAGTopologicalSorting()
487 SUnit *SU = WorkList.back(); in InitDAGTopologicalSorting()
492 SUnit *SU = PredDep.getSUnit(); in InitDAGTopologicalSorting()
504 for (SUnit &SU : SUnits) { in InitDAGTopologicalSorting()
513 void ScheduleDAGTopologicalSort::AddPred(SUnit *Y, SUnit *X) { in AddPred()
529 void ScheduleDAGTopologicalSort::RemovePred(SUnit *M, SUnit *N) { in RemovePred()
533 void ScheduleDAGTopologicalSort::DFS(const SUnit *SU, int UpperBound, in DFS()
535 std::vector<const SUnit*> WorkList; in DFS()
561 std::vector<int> ScheduleDAGTopologicalSort::GetSubGraph(const SUnit &StartSU, in GetSubGraph()
562 const SUnit &TargetSU, in GetSubGraph()
564 std::vector<const SUnit*> WorkList; in GetSubGraph()
583 const SUnit *SU = WorkList.back(); in GetSubGraph()
586 const SUnit *Succ = SU->Succs[I].getSUnit(); in GetSubGraph()
617 const SUnit *SU = WorkList.back(); in GetSubGraph()
620 const SUnit *Pred = SU->Preds[I].getSUnit(); in GetSubGraph()
667 bool ScheduleDAGTopologicalSort::WillCreateCycle(SUnit *TargetSU, SUnit *SU) { in WillCreateCycle()
678 bool ScheduleDAGTopologicalSort::IsReachable(const SUnit *SU, in IsReachable()
679 const SUnit *TargetSU) { in IsReachable()
701 ScheduleDAGTopologicalSort(std::vector<SUnit> &sunits, SUnit *exitsu) in ScheduleDAGTopologicalSort()