Lines Matching refs:SUnit
65 EntrySU = SUnit(); in clearDAG()
66 ExitSU = SUnit(); in clearDAG()
106 bool SUnit::addPred(const SDep &D, bool Required) { in addPred()
117 SUnit *PredSU = PredDep.getSUnit(); in addPred()
135 SUnit *N = D.getSUnit(); in addPred()
174 void SUnit::removePred(const SDep &D) { in removePred()
182 SUnit *N = D.getSUnit(); in removePred()
218 void SUnit::setDepthDirty() { in setDepthDirty()
220 SmallVector<SUnit*, 8> WorkList; in setDepthDirty()
223 SUnit *SU = WorkList.pop_back_val(); in setDepthDirty()
226 SUnit *SuccSU = SuccDep.getSUnit(); in setDepthDirty()
233 void SUnit::setHeightDirty() { in setHeightDirty()
235 SmallVector<SUnit*, 8> WorkList; in setHeightDirty()
238 SUnit *SU = WorkList.pop_back_val(); in setHeightDirty()
241 SUnit *PredSU = PredDep.getSUnit(); in setHeightDirty()
248 void SUnit::setDepthToAtLeast(unsigned NewDepth) { in setDepthToAtLeast()
256 void SUnit::setHeightToAtLeast(unsigned NewHeight) { in setHeightToAtLeast()
265 void SUnit::ComputeDepth() { in ComputeDepth()
266 SmallVector<SUnit*, 8> WorkList; in ComputeDepth()
269 SUnit *Cur = WorkList.back(); in ComputeDepth()
274 SUnit *PredSU = PredDep.getSUnit(); in ComputeDepth()
296 void SUnit::ComputeHeight() { in ComputeHeight()
297 SmallVector<SUnit*, 8> WorkList; in ComputeHeight()
300 SUnit *Cur = WorkList.back(); in ComputeHeight()
305 SUnit *SuccSU = SuccDep.getSUnit(); in ComputeHeight()
326 void SUnit::biasCriticalPath() { in biasCriticalPath()
330 SUnit::pred_iterator BestI = Preds.begin(); in biasCriticalPath()
332 for (SUnit::pred_iterator I = std::next(BestI), E = Preds.end(); I != E; in biasCriticalPath()
342 LLVM_DUMP_METHOD void SUnit::dumpAttributes() const { in dumpAttributes()
355 LLVM_DUMP_METHOD void ScheduleDAG::dumpNodeName(const SUnit &SU) const { in dumpNodeName()
364 LLVM_DUMP_METHOD void ScheduleDAG::dumpNodeAll(const SUnit &SU) const { in dumpNodeAll()
394 for (const SUnit &SUnit : SUnits) { in VerifyScheduledDAG() local
395 if (!SUnit.isScheduled) { in VerifyScheduledDAG()
396 if (SUnit.NumPreds == 0 && SUnit.NumSuccs == 0) { in VerifyScheduledDAG()
402 dumpNode(SUnit); in VerifyScheduledDAG()
406 if (SUnit.isScheduled && in VerifyScheduledDAG()
407 (isBottomUp ? SUnit.getHeight() : SUnit.getDepth()) > in VerifyScheduledDAG()
411 dumpNode(SUnit); in VerifyScheduledDAG()
417 if (SUnit.NumSuccsLeft != 0) { in VerifyScheduledDAG()
420 dumpNode(SUnit); in VerifyScheduledDAG()
425 if (SUnit.NumPredsLeft != 0) { in VerifyScheduledDAG()
428 dumpNode(SUnit); in VerifyScheduledDAG()
472 std::vector<SUnit*> WorkList; in InitDAGTopologicalSorting()
481 for (SUnit &SU : SUnits) { in InitDAGTopologicalSorting()
497 SUnit *SU = WorkList.back(); in InitDAGTopologicalSorting()
502 SUnit *SU = PredDep.getSUnit(); in InitDAGTopologicalSorting()
515 for (SUnit &SU : SUnits) { in InitDAGTopologicalSorting()
537 void ScheduleDAGTopologicalSort::AddPredQueued(SUnit *Y, SUnit *X) { in AddPredQueued()
549 void ScheduleDAGTopologicalSort::AddPred(SUnit *Y, SUnit *X) { in AddPred()
567 void ScheduleDAGTopologicalSort::RemovePred(SUnit *M, SUnit *N) { in RemovePred()
571 void ScheduleDAGTopologicalSort::DFS(const SUnit *SU, int UpperBound, in DFS()
573 std::vector<const SUnit*> WorkList; in DFS()
598 std::vector<int> ScheduleDAGTopologicalSort::GetSubGraph(const SUnit &StartSU, in GetSubGraph()
599 const SUnit &TargetSU, in GetSubGraph()
601 std::vector<const SUnit*> WorkList; in GetSubGraph()
620 const SUnit *SU = WorkList.back(); in GetSubGraph()
623 const SUnit *Succ = SD.getSUnit(); in GetSubGraph()
654 const SUnit *SU = WorkList.back(); in GetSubGraph()
657 const SUnit *Pred = SD.getSUnit(); in GetSubGraph()
704 bool ScheduleDAGTopologicalSort::WillCreateCycle(SUnit *TargetSU, SUnit *SU) { in WillCreateCycle()
716 void ScheduleDAGTopologicalSort::AddSUnitWithoutPredecessors(const SUnit *SU) { in AddSUnitWithoutPredecessors()
724 bool ScheduleDAGTopologicalSort::IsReachable(const SUnit *SU, in IsReachable()
725 const SUnit *TargetSU) { in IsReachable()
750 ScheduleDAGTopologicalSort(std::vector<SUnit> &sunits, SUnit *exitsu) in ScheduleDAGTopologicalSort()