Lines Matching refs:SUnit
593 for (const SUnit *SU : Queue) in dump()
608 bool ScheduleDAGMI::canAddEdge(SUnit *SuccSU, SUnit *PredSU) { in canAddEdge()
612 bool ScheduleDAGMI::addEdge(SUnit *SuccSU, const SDep &PredDep) { in addEdge()
629 void ScheduleDAGMI::releaseSucc(SUnit *SU, SDep *SuccEdge) { in releaseSucc()
630 SUnit *SuccSU = SuccEdge->getSUnit(); in releaseSucc()
657 void ScheduleDAGMI::releaseSuccessors(SUnit *SU) { in releaseSuccessors()
666 void ScheduleDAGMI::releasePred(SUnit *SU, SDep *PredEdge) { in releasePred()
667 SUnit *PredSU = PredEdge->getSUnit(); in releasePred()
694 void ScheduleDAGMI::releasePredecessors(SUnit *SU) { in releasePredecessors()
769 SmallVector<SUnit*, 8> TopRoots, BotRoots; in schedule()
786 SUnit *SU = SchedImpl->pickNode(IsTopNode); in schedule()
840 findRootsAndBiasEdges(SmallVectorImpl<SUnit*> &TopRoots, in findRootsAndBiasEdges()
841 SmallVectorImpl<SUnit*> &BotRoots) { in findRootsAndBiasEdges()
842 for (SUnit &SU : SUnits) { in findRootsAndBiasEdges()
859 void ScheduleDAGMI::initQueues(ArrayRef<SUnit*> TopRoots, in initQueues()
860 ArrayRef<SUnit*> BotRoots) { in initQueues()
868 for (SUnit *SU : TopRoots) in initQueues()
873 for (SmallVectorImpl<SUnit*>::const_reverse_iterator in initQueues()
889 void ScheduleDAGMI::updateQueues(SUnit *SU, bool IsTopNode) { in updateQueues()
925 if (SUnit *SU = getSUnit(&(*MI))) in dumpSchedule()
942 void ScheduleDAGMILive::collectVRegUses(SUnit &SU) { in collectVRegUses()
1009 for (SUnit &SU : SUnits) in initRegPressure()
1081 updateScheduledPressure(const SUnit *SU, in updateScheduledPressure()
1126 SUnit &SU = *V2SU.SU; in updatePressureDiffs()
1158 SUnit *SU = V2SU.SU; in updatePressureDiffs()
1181 for (const SUnit &SU : SUnits) { in dump()
1219 SmallVector<SUnit*, 8> TopRoots, BotRoots; in schedule()
1236 SUnit *SU = SchedImpl->pickNode(IsTopNode); in schedule()
1348 const SUnit *DefSU = getSUnit(DefMI); in computeCyclicCriticalPath()
1357 SUnit *SU = V2SU.SU; in computeCyclicCriticalPath()
1392 void ScheduleDAGMILive::initQueues(ArrayRef<SUnit*> TopRoots, in initQueues()
1393 ArrayRef<SUnit*> BotRoots) { in initQueues()
1402 void ScheduleDAGMILive::scheduleMI(SUnit *SU, bool IsTopNode) { in scheduleMI()
1486 SUnit *SU;
1490 MemOpInfo(SUnit *su, MachineOperand *Op, int64_t ofs) in MemOpInfo()
1536 void clusterNeighboringMemOps(ArrayRef<SUnit *> MemOps, ScheduleDAGMI *DAG);
1573 ArrayRef<SUnit *> MemOps, ScheduleDAGMI *DAG) { in clusterNeighboringMemOps()
1575 for (SUnit *SU : MemOps) { in clusterNeighboringMemOps()
1587 SUnit *SUa = MemOpRecords[Idx].SU; in clusterNeighboringMemOps()
1588 SUnit *SUb = MemOpRecords[Idx+1].SU; in clusterNeighboringMemOps()
1619 SmallVector<SmallVector<SUnit*,4>, 32> StoreChainDependents; in apply()
1620 for (SUnit &SU : DAG->SUnits) { in apply()
1670 void constrainLocalCopy(SUnit *CopySU, ScheduleDAGMILive *DAG);
1704 void CopyConstrain::constrainLocalCopy(SUnit *CopySU, ScheduleDAGMILive *DAG) { in constrainLocalCopy()
1778 SUnit *GlobalSU = DAG->getSUnit(GlobalDef); in constrainLocalCopy()
1784 SmallVector<SUnit*,8> LocalUses; in constrainLocalCopy()
1787 SUnit *LastLocalSU = DAG->getSUnit(LastLocalDef); in constrainLocalCopy()
1799 SmallVector<SUnit*,8> GlobalUses; in constrainLocalCopy()
1802 SUnit *FirstLocalSU = DAG->getSUnit(FirstLocalDef); in constrainLocalCopy()
1814 for (SmallVectorImpl<SUnit*>::const_iterator in constrainLocalCopy()
1820 for (SmallVectorImpl<SUnit*>::const_iterator in constrainLocalCopy()
1841 for (SUnit &SU : DAG->SUnits) { in apply()
1903 for (SUnit &SU : DAG->SUnits) { in init()
1936 unsigned SchedBoundary::getLatencyStallCycles(SUnit *SU) { in getLatencyStallCycles()
1973 bool SchedBoundary::checkHazard(SUnit *SU) { in checkHazard()
2018 findMaxLatency(ArrayRef<SUnit*> ReadySUs) { in findMaxLatency()
2019 SUnit *LateSU = nullptr; in findMaxLatency()
2021 for (SUnit *SU : ReadySUs) { in findMaxLatency()
2065 void SchedBoundary::releaseNode(SUnit *SU, unsigned ReadyCycle) { in releaseNode()
2173 void SchedBoundary::bumpNode(SUnit *SU) { in bumpNode()
2323 SUnit *SU = *(Pending.begin()+i); in releasePending()
2346 void SchedBoundary::removeReady(SUnit *SU) { in removeReady()
2358 SUnit *SchedBoundary::pickOnlyChoice() { in pickOnlyChoice()
2815 for (const SUnit *SU : Bot.Available) { in registerRoots()
2870 unsigned getWeakLeft(const SUnit *SU, bool isTop) { in getWeakLeft()
2881 int biasPhysReg(const SUnit *SU, bool isTop) { in biasPhysReg()
2920 void GenericScheduler::initCandidate(SchedCandidate &Cand, SUnit *SU, in initCandidate()
3021 const SUnit *CandNextClusterSU = in tryCandidate()
3023 const SUnit *TryCandNextClusterSU = in tryCandidate()
3083 for (SUnit *SU : Q) { in pickNodeFromQueue()
3101 SUnit *GenericScheduler::pickNodeBidirectional(bool &IsTopNode) { in pickNodeBidirectional()
3104 if (SUnit *SU = Bot.pickOnlyChoice()) { in pickNodeBidirectional()
3109 if (SUnit *SU = Top.pickOnlyChoice()) { in pickNodeBidirectional()
3180 SUnit *GenericScheduler::pickNode(bool &IsTopNode) { in pickNode()
3186 SUnit *SU; in pickNode()
3225 void GenericScheduler::reschedulePhysReg(SUnit *SU, bool isTop) { in reschedulePhysReg()
3236 SUnit *DepSU = Dep.getSUnit(); in reschedulePhysReg()
3255 void GenericScheduler::schedNode(SUnit *SU, bool IsTopNode) { in schedNode()
3318 for (const SUnit *SU : BotRoots) { in registerRoots()
3372 for (SUnit *SU : Q) { in pickNodeFromQueue()
3386 SUnit *PostGenericScheduler::pickNode(bool &IsTopNode) { in pickNode()
3391 SUnit *SU; in pickNode()
3419 void PostGenericScheduler::schedNode(SUnit *SU, bool IsTopNode) { in schedNode()
3446 bool operator()(const SUnit *A, const SUnit *B) const { in operator ()()
3473 std::vector<SUnit*> ReadyQ;
3496 SUnit *pickNode(bool &IsTopNode) override { in pickNode()
3499 SUnit *SU = ReadyQ.back(); in pickNode()
3521 void schedNode(SUnit *SU, bool IsTopNode) override { in schedNode()
3525 void releaseTopNode(SUnit *) override { /*only called for top roots*/ } in releaseTopNode() argument
3527 void releaseBottomNode(SUnit *SU) override { in releaseBottomNode()
3558 bool operator()(SUnit *A, SUnit *B) const { in operator ()()
3574 PriorityQueue<SUnit*, std::vector<SUnit*>, SUnitOrder<false>>
3578 PriorityQueue<SUnit*, std::vector<SUnit*>, SUnitOrder<true>>
3593 SUnit *pickNode(bool &IsTopNode) override { in pickNode()
3594 SUnit *SU; in pickNode()
3615 void schedNode(SUnit *SU, bool IsTopNode) override {} in schedNode()
3617 void releaseTopNode(SUnit *SU) override { in releaseTopNode()
3620 void releaseBottomNode(SUnit *SU) override { in releaseBottomNode()
3663 static bool isNodeHidden(const SUnit *Node) { in isNodeHidden()
3672 static std::string getEdgeAttributes(const SUnit *Node, in getEdgeAttributes()
3682 static std::string getNodeLabel(const SUnit *SU, const ScheduleDAG *G) { in getNodeLabel()
3694 static std::string getNodeDescription(const SUnit *SU, const ScheduleDAG *G) { in getNodeDescription()
3698 static std::string getNodeAttributes(const SUnit *N, const ScheduleDAG *G) { in getNodeAttributes()