Lines Matching refs:SUnit
521 bool ScheduleDAGMI::canAddEdge(SUnit *SuccSU, SUnit *PredSU) { in canAddEdge()
525 bool ScheduleDAGMI::addEdge(SUnit *SuccSU, const SDep &PredDep) { in addEdge()
542 void ScheduleDAGMI::releaseSucc(SUnit *SU, SDep *SuccEdge) { in releaseSucc()
543 SUnit *SuccSU = SuccEdge->getSUnit(); in releaseSucc()
570 void ScheduleDAGMI::releaseSuccessors(SUnit *SU) { in releaseSuccessors()
571 for (SUnit::succ_iterator I = SU->Succs.begin(), E = SU->Succs.end(); in releaseSuccessors()
581 void ScheduleDAGMI::releasePred(SUnit *SU, SDep *PredEdge) { in releasePred()
582 SUnit *PredSU = PredEdge->getSUnit(); in releasePred()
609 void ScheduleDAGMI::releasePredecessors(SUnit *SU) { in releasePredecessors()
610 for (SUnit::pred_iterator I = SU->Preds.begin(), E = SU->Preds.end(); in releasePredecessors()
676 SmallVector<SUnit*, 8> TopRoots, BotRoots; in schedule()
693 SUnit *SU = SchedImpl->pickNode(IsTopNode); in schedule()
749 findRootsAndBiasEdges(SmallVectorImpl<SUnit*> &TopRoots, in findRootsAndBiasEdges()
750 SmallVectorImpl<SUnit*> &BotRoots) { in findRootsAndBiasEdges()
751 for (std::vector<SUnit>::iterator in findRootsAndBiasEdges()
753 SUnit *SU = &(*I); in findRootsAndBiasEdges()
770 void ScheduleDAGMI::initQueues(ArrayRef<SUnit*> TopRoots, in initQueues()
771 ArrayRef<SUnit*> BotRoots) { in initQueues()
779 for (SmallVectorImpl<SUnit*>::const_iterator in initQueues()
785 for (SmallVectorImpl<SUnit*>::const_reverse_iterator in initQueues()
801 void ScheduleDAGMI::updateQueues(SUnit *SU, bool IsTopNode) { in updateQueues()
837 if (SUnit *SU = getSUnit(&(*MI))) in dumpSchedule()
944 updateScheduledPressure(const SUnit *SU, in updateScheduledPressure()
998 SUnit *SU = V2SU.SU; in updatePressureDiffs()
1038 SmallVector<SUnit*, 8> TopRoots, BotRoots; in schedule()
1046 for (const SUnit &SU : SUnits) { in schedule()
1068 SUnit *SU = SchedImpl->pickNode(IsTopNode); in schedule()
1182 const SUnit *DefSU = getSUnit(DefMI); in computeCyclicCriticalPath()
1191 SUnit *SU = V2SU.SU; in computeCyclicCriticalPath()
1227 void ScheduleDAGMILive::scheduleMI(SUnit *SU, bool IsTopNode) { in scheduleMI()
1291 SUnit *SU;
1294 LoadInfo(SUnit *su, unsigned reg, unsigned ofs) in LoadInfo()
1311 void clusterNeighboringLoads(ArrayRef<SUnit*> Loads, ScheduleDAGMI *DAG);
1315 void LoadClusterMutation::clusterNeighboringLoads(ArrayRef<SUnit*> Loads, in clusterNeighboringLoads()
1319 SUnit *SU = Loads[Idx]; in clusterNeighboringLoads()
1335 SUnit *SUa = LoadRecords[Idx].SU; in clusterNeighboringLoads()
1336 SUnit *SUb = LoadRecords[Idx+1].SU; in clusterNeighboringLoads()
1346 for (SUnit::const_succ_iterator in clusterNeighboringLoads()
1365 SmallVector<SmallVector<SUnit*,4>, 32> StoreChainDependents; in apply()
1367 SUnit *SU = &DAG->SUnits[Idx]; in apply()
1371 for (SUnit::const_pred_iterator in apply()
1428 SUnit &ExitSU = DAG->ExitSU; in apply()
1433 for (SUnit &SU : DAG->SUnits) { in apply()
1480 void constrainLocalCopy(SUnit *CopySU, ScheduleDAGMILive *DAG);
1503 void CopyConstrain::constrainLocalCopy(SUnit *CopySU, ScheduleDAGMILive *DAG) { in constrainLocalCopy()
1575 SUnit *GlobalSU = DAG->getSUnit(GlobalDef); in constrainLocalCopy()
1581 SmallVector<SUnit*,8> LocalUses; in constrainLocalCopy()
1584 SUnit *LastLocalSU = DAG->getSUnit(LastLocalDef); in constrainLocalCopy()
1585 for (SUnit::const_succ_iterator in constrainLocalCopy()
1598 SmallVector<SUnit*,8> GlobalUses; in constrainLocalCopy()
1601 SUnit *FirstLocalSU = DAG->getSUnit(FirstLocalDef); in constrainLocalCopy()
1602 for (SUnit::const_pred_iterator in constrainLocalCopy()
1614 for (SmallVectorImpl<SUnit*>::const_iterator in constrainLocalCopy()
1620 for (SmallVectorImpl<SUnit*>::const_iterator in constrainLocalCopy()
1641 SUnit *SU = &DAG->SUnits[Idx]; in apply()
1697 for (std::vector<SUnit>::iterator in init()
1731 unsigned SchedBoundary::getLatencyStallCycles(SUnit *SU) { in getLatencyStallCycles()
1768 bool SchedBoundary::checkHazard(SUnit *SU) { in checkHazard()
1801 findMaxLatency(ArrayRef<SUnit*> ReadySUs) { in findMaxLatency()
1802 SUnit *LateSU = nullptr; in findMaxLatency()
1804 for (ArrayRef<SUnit*>::iterator I = ReadySUs.begin(), E = ReadySUs.end(); in findMaxLatency()
1848 void SchedBoundary::releaseNode(SUnit *SU, unsigned ReadyCycle) { in releaseNode()
1874 void SchedBoundary::releaseTopNode(SUnit *SU) { in releaseTopNode()
1881 void SchedBoundary::releaseBottomNode(SUnit *SU) { in releaseBottomNode()
1971 void SchedBoundary::bumpNode(SUnit *SU) { in bumpNode()
2110 SUnit *SU = *(Pending.begin()+i); in releasePending()
2131 void SchedBoundary::removeReady(SUnit *SU) { in removeReady()
2143 SUnit *SchedBoundary::pickOnlyChoice() { in pickOnlyChoice()
2562 for (std::vector<SUnit*>::const_iterator in registerRoots()
2611 static unsigned getWeakLeft(const SUnit *SU, bool isTop) { in getWeakLeft()
2622 static int biasPhysRegCopy(const SUnit *SU, bool isTop) { in biasPhysRegCopy()
2736 const SUnit *NextClusterSU = in tryCandidate()
2817 SUnit *GenericScheduler::pickNodeBidirectional(bool &IsTopNode) { in pickNodeBidirectional()
2820 if (SUnit *SU = Bot.pickOnlyChoice()) { in pickNodeBidirectional()
2825 if (SUnit *SU = Top.pickOnlyChoice()) { in pickNodeBidirectional()
2876 SUnit *GenericScheduler::pickNode(bool &IsTopNode) { in pickNode()
2882 SUnit *SU; in pickNode()
2922 void GenericScheduler::reschedulePhysRegCopies(SUnit *SU, bool isTop) { in reschedulePhysRegCopies()
2935 SUnit *DepSU = I->getSUnit(); in reschedulePhysRegCopies()
2954 void GenericScheduler::schedNode(SUnit *SU, bool IsTopNode) { in schedNode()
3018 for (SmallVectorImpl<SUnit*>::const_iterator in registerRoots()
3084 SUnit *PostGenericScheduler::pickNode(bool &IsTopNode) { in pickNode()
3089 SUnit *SU; in pickNode()
3114 void PostGenericScheduler::schedNode(SUnit *SU, bool IsTopNode) { in schedNode()
3141 bool operator()(const SUnit *A, const SUnit *B) const { in operator ()()
3168 std::vector<SUnit*> ReadyQ;
3190 SUnit *pickNode(bool &IsTopNode) override { in pickNode()
3193 SUnit *SU = ReadyQ.back(); in pickNode()
3212 void schedNode(SUnit *SU, bool IsTopNode) override { in schedNode()
3216 void releaseTopNode(SUnit *) override { /*only called for top roots*/ } in releaseTopNode() argument
3218 void releaseBottomNode(SUnit *SU) override { in releaseBottomNode()
3246 bool operator()(SUnit *A, SUnit *B) const { in operator ()()
3262 PriorityQueue<SUnit*, std::vector<SUnit*>, SUnitOrder<false> >
3265 PriorityQueue<SUnit*, std::vector<SUnit*>, SUnitOrder<true> >
3279 SUnit *pickNode(bool &IsTopNode) override { in pickNode()
3280 SUnit *SU; in pickNode()
3302 void schedNode(SUnit *SU, bool IsTopNode) override {} in schedNode()
3304 void releaseTopNode(SUnit *SU) override { in releaseTopNode()
3307 void releaseBottomNode(SUnit *SU) override { in releaseBottomNode()
3348 static bool isNodeHidden(const SUnit *Node) { in isNodeHidden()
3357 static std::string getEdgeAttributes(const SUnit *Node, in getEdgeAttributes()
3367 static std::string getNodeLabel(const SUnit *SU, const ScheduleDAG *G) { in getNodeLabel()
3378 static std::string getNodeDescription(const SUnit *SU, const ScheduleDAG *G) { in getNodeDescription()
3382 static std::string getNodeAttributes(const SUnit *N, const ScheduleDAG *G) { in getNodeAttributes()