Lines Matching refs:SUnit
49 SmallVector<SUnit *, 16> Queue;
53 void push(SUnit *U) { in push()
57 SUnit *pop() { in pop()
59 SUnit *V = Queue.back(); in pop()
77 std::vector<SUnit*> LiveRegDefs;
88 void AddPred(SUnit *SU, const SDep &D) { in AddPred()
94 void RemovePred(SUnit *SU, const SDep &D) { in RemovePred()
99 void ReleasePred(SUnit *SU, SDep *PredEdge);
100 void ReleasePredecessors(SUnit *SU, unsigned CurCycle);
101 void ScheduleNodeBottomUp(SUnit*, unsigned);
102 SUnit *CopyAndMoveSuccessors(SUnit*);
103 void InsertCopiesAndMoveSuccs(SUnit*, unsigned,
106 SmallVectorImpl<SUnit*>&);
107 bool DelayForLiveRegsBottomUp(SUnit*, SmallVectorImpl<unsigned>&);
140 void ScheduleDAGFast::ReleasePred(SUnit *SU, SDep *PredEdge) { in ReleasePred()
141 SUnit *PredSU = PredEdge->getSUnit(); in ReleasePred()
161 void ScheduleDAGFast::ReleasePredecessors(SUnit *SU, unsigned CurCycle) { in ReleasePredecessors()
163 for (SUnit::pred_iterator I = SU->Preds.begin(), E = SU->Preds.end(); in ReleasePredecessors()
183 void ScheduleDAGFast::ScheduleNodeBottomUp(SUnit *SU, unsigned CurCycle) { in ScheduleNodeBottomUp()
194 for (SUnit::succ_iterator I = SU->Succs.begin(), E = SU->Succs.end(); in ScheduleNodeBottomUp()
213 SUnit *ScheduleDAGFast::CopyAndMoveSuccessors(SUnit *SU) { in CopyAndMoveSuccessors()
221 SUnit *NewSU; in CopyAndMoveSuccessors()
254 SUnit *NewSU = newSUnit(N); in CopyAndMoveSuccessors()
272 SUnit *LoadSU; in CopyAndMoveSuccessors()
286 for (SUnit::pred_iterator I = SU->Preds.begin(), E = SU->Preds.end(); in CopyAndMoveSuccessors()
296 for (SUnit::succ_iterator I = SU->Succs.begin(), E = SU->Succs.end(); in CopyAndMoveSuccessors()
323 SUnit *SuccDep = D.getSUnit(); in CopyAndMoveSuccessors()
331 SUnit *SuccDep = D.getSUnit(); in CopyAndMoveSuccessors()
358 for (SUnit::pred_iterator I = SU->Preds.begin(), E = SU->Preds.end(); in CopyAndMoveSuccessors()
365 SmallVector<std::pair<SUnit *, SDep>, 4> DelDeps; in CopyAndMoveSuccessors()
366 for (SUnit::succ_iterator I = SU->Succs.begin(), E = SU->Succs.end(); in CopyAndMoveSuccessors()
370 SUnit *SuccSU = I->getSUnit(); in CopyAndMoveSuccessors()
388 void ScheduleDAGFast::InsertCopiesAndMoveSuccs(SUnit *SU, unsigned Reg, in InsertCopiesAndMoveSuccs()
391 SmallVectorImpl<SUnit*> &Copies) { in InsertCopiesAndMoveSuccs()
392 SUnit *CopyFromSU = newSUnit(static_cast<SDNode *>(nullptr)); in InsertCopiesAndMoveSuccs()
396 SUnit *CopyToSU = newSUnit(static_cast<SDNode *>(nullptr)); in InsertCopiesAndMoveSuccs()
402 SmallVector<std::pair<SUnit *, SDep>, 4> DelDeps; in InsertCopiesAndMoveSuccs()
403 for (SUnit::succ_iterator I = SU->Succs.begin(), E = SU->Succs.end(); in InsertCopiesAndMoveSuccs()
407 SUnit *SuccSU = I->getSUnit(); in InsertCopiesAndMoveSuccs()
455 static bool CheckForLiveRegDef(SUnit *SU, unsigned Reg, in CheckForLiveRegDef()
456 std::vector<SUnit*> &LiveRegDefs, in CheckForLiveRegDef()
476 bool ScheduleDAGFast::DelayForLiveRegsBottomUp(SUnit *SU, in DelayForLiveRegsBottomUp()
483 for (SUnit::pred_iterator I = SU->Preds.begin(), E = SU->Preds.end(); in DelayForLiveRegsBottomUp()
541 SUnit *RootSU = &SUnits[DAG->getRoot().getNode()->getNodeId()]; in ListScheduleBottomUp()
549 SmallVector<SUnit*, 4> NotReady; in ListScheduleBottomUp()
550 DenseMap<SUnit*, SmallVector<unsigned, 4> > LRegsMap; in ListScheduleBottomUp()
555 SUnit *CurSU = AvailableQueue.pop(); in ListScheduleBottomUp()
576 SUnit *TrySU = NotReady[0]; in ListScheduleBottomUp()
580 SUnit *LRDef = LiveRegDefs[Reg]; in ListScheduleBottomUp()
593 SUnit *NewDef = nullptr; in ListScheduleBottomUp()
602 SmallVector<SUnit*, 2> Copies; in ListScheduleBottomUp()