Lines Matching refs:SUnit

371 bool ScheduleDAGMI::canAddEdge(SUnit *SuccSU, SUnit *PredSU) {  in canAddEdge()
375 bool ScheduleDAGMI::addEdge(SUnit *SuccSU, const SDep &PredDep) { in addEdge()
392 void ScheduleDAGMI::releaseSucc(SUnit *SU, SDep *SuccEdge) { in releaseSucc()
393 SUnit *SuccSU = SuccEdge->getSUnit(); in releaseSucc()
415 void ScheduleDAGMI::releaseSuccessors(SUnit *SU) { in releaseSuccessors()
416 for (SUnit::succ_iterator I = SU->Succs.begin(), E = SU->Succs.end(); in releaseSuccessors()
426 void ScheduleDAGMI::releasePred(SUnit *SU, SDep *PredEdge) { in releasePred()
427 SUnit *PredSU = PredEdge->getSUnit(); in releasePred()
449 void ScheduleDAGMI::releasePredecessors(SUnit *SU) { in releasePredecessors()
450 for (SUnit::pred_iterator I = SU->Preds.begin(), E = SU->Preds.end(); in releasePredecessors()
571 updateScheduledPressure(const SUnit *SU, in updateScheduledPressure()
624 SUnit *SU = UI->SU; in updatePressureDiffs()
656 SmallVector<SUnit*, 8> TopRoots, BotRoots; in schedule()
671 while (SUnit *SU = SchedImpl->pickNode(IsTopNode)) { in schedule()
733 void ScheduleDAGMI::findRootsAndBiasEdges(SmallVectorImpl<SUnit*> &TopRoots, in findRootsAndBiasEdges()
734 SmallVectorImpl<SUnit*> &BotRoots) { in findRootsAndBiasEdges()
735 for (std::vector<SUnit>::iterator in findRootsAndBiasEdges()
737 SUnit *SU = &(*I); in findRootsAndBiasEdges()
795 const SUnit *DefSU = getSUnit(DefMI); in computeCyclicCriticalPath()
839 void ScheduleDAGMI::initQueues(ArrayRef<SUnit*> TopRoots, in initQueues()
840 ArrayRef<SUnit*> BotRoots) { in initQueues()
848 for (SmallVectorImpl<SUnit*>::const_iterator in initQueues()
854 for (SmallVectorImpl<SUnit*>::const_reverse_iterator in initQueues()
875 void ScheduleDAGMI::scheduleMI(SUnit *SU, bool IsTopNode) { in scheduleMI()
921 void ScheduleDAGMI::updateQueues(SUnit *SU, bool IsTopNode) { in updateQueues()
969 if (SUnit *SU = getSUnit(&(*MI))) in dumpSchedule()
986 SUnit *SU;
989 LoadInfo(SUnit *su, unsigned reg, unsigned ofs) in LoadInfo()
1004 void clusterNeighboringLoads(ArrayRef<SUnit*> Loads, ScheduleDAGMI *DAG);
1016 void LoadClusterMutation::clusterNeighboringLoads(ArrayRef<SUnit*> Loads, in clusterNeighboringLoads()
1020 SUnit *SU = Loads[Idx]; in clusterNeighboringLoads()
1036 SUnit *SUa = LoadRecords[Idx].SU; in clusterNeighboringLoads()
1037 SUnit *SUb = LoadRecords[Idx+1].SU; in clusterNeighboringLoads()
1047 for (SUnit::const_succ_iterator in clusterNeighboringLoads()
1066 SmallVector<SmallVector<SUnit*,4>, 32> StoreChainDependents; in apply()
1068 SUnit *SU = &DAG->SUnits[Idx]; in apply()
1072 for (SUnit::const_pred_iterator in apply()
1118 SUnit *SU = &DAG->SUnits[--Idx]; in apply()
1157 void constrainLocalCopy(SUnit *CopySU, ScheduleDAGMI *DAG);
1180 void CopyConstrain::constrainLocalCopy(SUnit *CopySU, ScheduleDAGMI *DAG) { in constrainLocalCopy()
1249 SUnit *GlobalSU = DAG->getSUnit(GlobalDef); in constrainLocalCopy()
1255 SmallVector<SUnit*,8> LocalUses; in constrainLocalCopy()
1258 SUnit *LastLocalSU = DAG->getSUnit(LastLocalDef); in constrainLocalCopy()
1259 for (SUnit::const_succ_iterator in constrainLocalCopy()
1272 SmallVector<SUnit*,8> GlobalUses; in constrainLocalCopy()
1275 SUnit *FirstLocalSU = DAG->getSUnit(FirstLocalDef); in constrainLocalCopy()
1276 for (SUnit::const_pred_iterator in constrainLocalCopy()
1288 for (SmallVectorImpl<SUnit*>::const_iterator in constrainLocalCopy()
1294 for (SmallVectorImpl<SUnit*>::const_iterator in constrainLocalCopy()
1313 SUnit *SU = &DAG->SUnits[Idx]; in apply()
1375 SUnit *SU;
1451 SmallPtrSet<const SUnit*, 8> NextSUs;
1562 unsigned getUnscheduledLatency(SUnit *SU) const { in getUnscheduledLatency()
1586 bool checkHazard(SUnit *SU);
1588 unsigned findMaxLatency(ArrayRef<SUnit*> ReadySUs);
1594 void releaseNode(SUnit *SU, unsigned ReadyCycle);
1602 void bumpNode(SUnit *SU);
1606 void removeReady(SUnit *SU);
1608 SUnit *pickOnlyChoice();
1647 virtual SUnit *pickNode(bool &IsTopNode);
1649 virtual void schedNode(SUnit *SU, bool IsTopNode);
1651 virtual void releaseTopNode(SUnit *SU);
1653 virtual void releaseBottomNode(SUnit *SU);
1666 SUnit *pickNodeBidirectional(bool &IsTopNode);
1672 void reschedulePhysRegCopies(SUnit *SU, bool isTop);
1686 for (std::vector<SUnit>::iterator in init()
1778 void GenericScheduler::releaseTopNode(SUnit *SU) { in releaseTopNode()
1782 for (SUnit::pred_iterator I = SU->Preds.begin(), E = SU->Preds.end(); in releaseTopNode()
1797 void GenericScheduler::releaseBottomNode(SUnit *SU) { in releaseBottomNode()
1803 for (SUnit::succ_iterator I = SU->Succs.begin(), E = SU->Succs.end(); in releaseBottomNode()
1859 for (std::vector<SUnit*>::const_iterator in registerRoots()
1885 bool GenericScheduler::SchedBoundary::checkHazard(SUnit *SU) { in checkHazard()
1900 findMaxLatency(ArrayRef<SUnit*> ReadySUs) { in findMaxLatency()
1901 SUnit *LateSU = 0; in findMaxLatency()
1903 for (ArrayRef<SUnit*>::iterator I = ReadySUs.begin(), E = ReadySUs.end(); in findMaxLatency()
2008 void GenericScheduler::SchedBoundary::releaseNode(SUnit *SU, in releaseNode()
2103 void GenericScheduler::SchedBoundary::bumpNode(SUnit *SU) { in bumpNode()
2216 SUnit *SU = *(Pending.begin()+i); in releasePending()
2237 void GenericScheduler::SchedBoundary::removeReady(SUnit *SU) { in removeReady()
2249 SUnit *GenericScheduler::SchedBoundary::pickOnlyChoice() { in pickOnlyChoice()
2378 static unsigned getWeakLeft(const SUnit *SU, bool isTop) { in getWeakLeft()
2389 static int biasPhysRegCopy(const SUnit *SU, bool isTop) { in biasPhysRegCopy()
2523 const SUnit *NextClusterSU = in tryCandidate()
2685 SUnit *GenericScheduler::pickNodeBidirectional(bool &IsTopNode) { in pickNodeBidirectional()
2688 if (SUnit *SU = Bot.pickOnlyChoice()) { in pickNodeBidirectional()
2693 if (SUnit *SU = Top.pickOnlyChoice()) { in pickNodeBidirectional()
2740 SUnit *GenericScheduler::pickNode(bool &IsTopNode) { in pickNode()
2746 SUnit *SU; in pickNode()
2786 void GenericScheduler::reschedulePhysRegCopies(SUnit *SU, bool isTop) { in reschedulePhysRegCopies()
2799 SUnit *DepSU = I->getSUnit(); in reschedulePhysRegCopies()
2817 void GenericScheduler::schedNode(SUnit *SU, bool IsTopNode) { in schedNode()
2868 bool operator()(const SUnit *A, const SUnit *B) const { in operator ()()
2895 std::vector<SUnit*> ReadyQ;
2916 virtual SUnit *pickNode(bool &IsTopNode) { in pickNode()
2919 SUnit *SU = ReadyQ.back(); in pickNode()
2938 virtual void schedNode(SUnit *SU, bool IsTopNode) { in schedNode()
2942 virtual void releaseTopNode(SUnit *) { /*only called for top roots*/ } in releaseTopNode() argument
2944 virtual void releaseBottomNode(SUnit *SU) { in releaseBottomNode()
2972 bool operator()(SUnit *A, SUnit *B) const { in operator ()()
2988 PriorityQueue<SUnit*, std::vector<SUnit*>, SUnitOrder<false> >
2991 PriorityQueue<SUnit*, std::vector<SUnit*>, SUnitOrder<true> >
3005 virtual SUnit *pickNode(bool &IsTopNode) { in pickNode()
3006 SUnit *SU; in pickNode()
3028 virtual void schedNode(SUnit *SU, bool IsTopNode) {} in schedNode()
3030 virtual void releaseTopNode(SUnit *SU) { in releaseTopNode()
3033 virtual void releaseBottomNode(SUnit *SU) { in releaseBottomNode()
3074 static bool isNodeHidden(const SUnit *Node) { in isNodeHidden()
3078 static bool hasNodeAddressLabel(const SUnit *Node, in hasNodeAddressLabel()
3085 static std::string getEdgeAttributes(const SUnit *Node, in getEdgeAttributes()
3095 static std::string getNodeLabel(const SUnit *SU, const ScheduleDAG *G) { in getNodeLabel()
3105 static std::string getNodeDescription(const SUnit *SU, const ScheduleDAG *G) { in getNodeDescription()
3109 static std::string getNodeAttributes(const SUnit *N, in getNodeAttributes()