Lines Matching refs:SUnit

518 bool ScheduleDAGMI::canAddEdge(SUnit *SuccSU, SUnit *PredSU) {  in canAddEdge()
522 bool ScheduleDAGMI::addEdge(SUnit *SuccSU, const SDep &PredDep) { in addEdge()
539 void ScheduleDAGMI::releaseSucc(SUnit *SU, SDep *SuccEdge) { in releaseSucc()
540 SUnit *SuccSU = SuccEdge->getSUnit(); in releaseSucc()
567 void ScheduleDAGMI::releaseSuccessors(SUnit *SU) { in releaseSuccessors()
568 for (SUnit::succ_iterator I = SU->Succs.begin(), E = SU->Succs.end(); in releaseSuccessors()
578 void ScheduleDAGMI::releasePred(SUnit *SU, SDep *PredEdge) { in releasePred()
579 SUnit *PredSU = PredEdge->getSUnit(); in releasePred()
606 void ScheduleDAGMI::releasePredecessors(SUnit *SU) { in releasePredecessors()
607 for (SUnit::pred_iterator I = SU->Preds.begin(), E = SU->Preds.end(); in releasePredecessors()
670 SmallVector<SUnit*, 8> TopRoots, BotRoots; in schedule()
685 while (SUnit *SU = SchedImpl->pickNode(IsTopNode)) { in schedule()
739 findRootsAndBiasEdges(SmallVectorImpl<SUnit*> &TopRoots, in findRootsAndBiasEdges()
740 SmallVectorImpl<SUnit*> &BotRoots) { in findRootsAndBiasEdges()
741 for (std::vector<SUnit>::iterator in findRootsAndBiasEdges()
743 SUnit *SU = &(*I); in findRootsAndBiasEdges()
760 void ScheduleDAGMI::initQueues(ArrayRef<SUnit*> TopRoots, in initQueues()
761 ArrayRef<SUnit*> BotRoots) { in initQueues()
769 for (SmallVectorImpl<SUnit*>::const_iterator in initQueues()
775 for (SmallVectorImpl<SUnit*>::const_reverse_iterator in initQueues()
791 void ScheduleDAGMI::updateQueues(SUnit *SU, bool IsTopNode) { in updateQueues()
827 if (SUnit *SU = getSUnit(&(*MI))) in dumpSchedule()
927 updateScheduledPressure(const SUnit *SU, in updateScheduledPressure()
980 SUnit *SU = UI->SU; in updatePressureDiffs()
1012 SmallVector<SUnit*, 8> TopRoots, BotRoots; in schedule()
1032 while (SUnit *SU = SchedImpl->pickNode(IsTopNode)) { in schedule()
1144 const SUnit *DefSU = getSUnit(DefMI); in computeCyclicCriticalPath()
1188 void ScheduleDAGMILive::scheduleMI(SUnit *SU, bool IsTopNode) { in scheduleMI()
1242 SUnit *SU;
1245 LoadInfo(SUnit *su, unsigned reg, unsigned ofs) in LoadInfo()
1262 void clusterNeighboringLoads(ArrayRef<SUnit*> Loads, ScheduleDAGMI *DAG);
1266 void LoadClusterMutation::clusterNeighboringLoads(ArrayRef<SUnit*> Loads, in clusterNeighboringLoads()
1270 SUnit *SU = Loads[Idx]; in clusterNeighboringLoads()
1286 SUnit *SUa = LoadRecords[Idx].SU; in clusterNeighboringLoads()
1287 SUnit *SUb = LoadRecords[Idx+1].SU; in clusterNeighboringLoads()
1297 for (SUnit::const_succ_iterator in clusterNeighboringLoads()
1316 SmallVector<SmallVector<SUnit*,4>, 32> StoreChainDependents; in apply()
1318 SUnit *SU = &DAG->SUnits[Idx]; in apply()
1322 for (SUnit::const_pred_iterator in apply()
1368 SUnit *SU = &DAG->SUnits[--Idx]; in apply()
1407 void constrainLocalCopy(SUnit *CopySU, ScheduleDAGMILive *DAG);
1430 void CopyConstrain::constrainLocalCopy(SUnit *CopySU, ScheduleDAGMILive *DAG) { in constrainLocalCopy()
1502 SUnit *GlobalSU = DAG->getSUnit(GlobalDef); in constrainLocalCopy()
1508 SmallVector<SUnit*,8> LocalUses; in constrainLocalCopy()
1511 SUnit *LastLocalSU = DAG->getSUnit(LastLocalDef); in constrainLocalCopy()
1512 for (SUnit::const_succ_iterator in constrainLocalCopy()
1525 SmallVector<SUnit*,8> GlobalUses; in constrainLocalCopy()
1528 SUnit *FirstLocalSU = DAG->getSUnit(FirstLocalDef); in constrainLocalCopy()
1529 for (SUnit::const_pred_iterator in constrainLocalCopy()
1541 for (SmallVectorImpl<SUnit*>::const_iterator in constrainLocalCopy()
1547 for (SmallVectorImpl<SUnit*>::const_iterator in constrainLocalCopy()
1568 SUnit *SU = &DAG->SUnits[Idx]; in apply()
1624 for (std::vector<SUnit>::iterator in init()
1658 unsigned SchedBoundary::getLatencyStallCycles(SUnit *SU) { in getLatencyStallCycles()
1695 bool SchedBoundary::checkHazard(SUnit *SU) { in checkHazard()
1728 findMaxLatency(ArrayRef<SUnit*> ReadySUs) { in findMaxLatency()
1729 SUnit *LateSU = nullptr; in findMaxLatency()
1731 for (ArrayRef<SUnit*>::iterator I = ReadySUs.begin(), E = ReadySUs.end(); in findMaxLatency()
1775 void SchedBoundary::releaseNode(SUnit *SU, unsigned ReadyCycle) { in releaseNode()
1801 void SchedBoundary::releaseTopNode(SUnit *SU) { in releaseTopNode()
1808 void SchedBoundary::releaseBottomNode(SUnit *SU) { in releaseBottomNode()
1898 void SchedBoundary::bumpNode(SUnit *SU) { in bumpNode()
2037 SUnit *SU = *(Pending.begin()+i); in releasePending()
2058 void SchedBoundary::removeReady(SUnit *SU) { in removeReady()
2070 SUnit *SchedBoundary::pickOnlyChoice() { in pickOnlyChoice()
2481 for (std::vector<SUnit*>::const_iterator in registerRoots()
2521 static unsigned getWeakLeft(const SUnit *SU, bool isTop) { in getWeakLeft()
2532 static int biasPhysRegCopy(const SUnit *SU, bool isTop) { in biasPhysRegCopy()
2645 const SUnit *NextClusterSU = in tryCandidate()
2725 SUnit *GenericScheduler::pickNodeBidirectional(bool &IsTopNode) { in pickNodeBidirectional()
2728 if (SUnit *SU = Bot.pickOnlyChoice()) { in pickNodeBidirectional()
2733 if (SUnit *SU = Top.pickOnlyChoice()) { in pickNodeBidirectional()
2784 SUnit *GenericScheduler::pickNode(bool &IsTopNode) { in pickNode()
2790 SUnit *SU; in pickNode()
2830 void GenericScheduler::reschedulePhysRegCopies(SUnit *SU, bool isTop) { in reschedulePhysRegCopies()
2843 SUnit *DepSU = I->getSUnit(); in reschedulePhysRegCopies()
2862 void GenericScheduler::schedNode(SUnit *SU, bool IsTopNode) { in schedNode()
2926 for (SmallVectorImpl<SUnit*>::const_iterator in registerRoots()
2992 SUnit *PostGenericScheduler::pickNode(bool &IsTopNode) { in pickNode()
2997 SUnit *SU; in pickNode()
3022 void PostGenericScheduler::schedNode(SUnit *SU, bool IsTopNode) { in schedNode()
3049 bool operator()(const SUnit *A, const SUnit *B) const { in operator ()()
3076 std::vector<SUnit*> ReadyQ;
3098 SUnit *pickNode(bool &IsTopNode) override { in pickNode()
3101 SUnit *SU = ReadyQ.back(); in pickNode()
3120 void schedNode(SUnit *SU, bool IsTopNode) override { in schedNode()
3124 void releaseTopNode(SUnit *) override { /*only called for top roots*/ } in releaseTopNode() argument
3126 void releaseBottomNode(SUnit *SU) override { in releaseBottomNode()
3154 bool operator()(SUnit *A, SUnit *B) const { in operator ()()
3170 PriorityQueue<SUnit*, std::vector<SUnit*>, SUnitOrder<false> >
3173 PriorityQueue<SUnit*, std::vector<SUnit*>, SUnitOrder<true> >
3187 SUnit *pickNode(bool &IsTopNode) override { in pickNode()
3188 SUnit *SU; in pickNode()
3210 void schedNode(SUnit *SU, bool IsTopNode) override {} in schedNode()
3212 void releaseTopNode(SUnit *SU) override { in releaseTopNode()
3215 void releaseBottomNode(SUnit *SU) override { in releaseBottomNode()
3256 static bool isNodeHidden(const SUnit *Node) { in isNodeHidden()
3260 static bool hasNodeAddressLabel(const SUnit *Node, in hasNodeAddressLabel()
3267 static std::string getEdgeAttributes(const SUnit *Node, in getEdgeAttributes()
3277 static std::string getNodeLabel(const SUnit *SU, const ScheduleDAG *G) { in getNodeLabel()
3288 static std::string getNodeDescription(const SUnit *SU, const ScheduleDAG *G) { in getNodeDescription()
3292 static std::string getNodeAttributes(const SUnit *N, const ScheduleDAG *G) { in getNodeAttributes()