Lines Matching refs:SUnit

205   virtual SUnit *pickNode(bool &IsTopNode) = 0;
212 virtual void schedNode(SUnit *SU, bool IsTopNode) = 0;
216 virtual void releaseTopNode(SUnit *SU) = 0;
219 virtual void releaseBottomNode(SUnit *SU) = 0;
246 const SUnit *NextClusterPred;
247 const SUnit *NextClusterSucc;
286 bool canAddEdge(SUnit *SuccSU, SUnit *PredSU);
293 bool addEdge(SUnit *SuccSU, const SDep &PredDep);
314 const SUnit *getNextClusterPred() const { return NextClusterPred; } in getNextClusterPred()
316 const SUnit *getNextClusterSucc() const { return NextClusterSucc; } in getNextClusterSucc()
329 void initQueues(ArrayRef<SUnit*> TopRoots, ArrayRef<SUnit*> BotRoots);
332 void updateQueues(SUnit *SU, bool IsTopNode);
343 void findRootsAndBiasEdges(SmallVectorImpl<SUnit*> &TopRoots,
344 SmallVectorImpl<SUnit*> &BotRoots);
346 void releaseSucc(SUnit *SU, SDep *SuccEdge);
347 void releaseSuccessors(SUnit *SU);
348 void releasePred(SUnit *SU, SDep *PredEdge);
349 void releasePredecessors(SUnit *SU);
425 PressureDiff &getPressureDiff(const SUnit *SU) { in getPressureDiff()
464 void initQueues(ArrayRef<SUnit*> TopRoots, ArrayRef<SUnit*> BotRoots);
467 void scheduleMI(SUnit *SU, bool IsTopNode);
475 void updateScheduledPressure(const SUnit *SU,
495 std::vector<SUnit*> Queue;
505 bool isInQueue(SUnit *SU) const { return (SU->NodeQueueId & ID); } in isInQueue()
513 typedef std::vector<SUnit*>::iterator iterator;
519 ArrayRef<SUnit*> elements() { return Queue; } in elements()
521 iterator find(SUnit *SU) { in find()
525 void push(SUnit *SU) { in push()
596 SmallPtrSet<const SUnit*, 8> NextSUs;
676 bool isNextSU(const SUnit *SU) const { return NextSUs.count(SU); } in isNextSU()
688 unsigned getUnscheduledLatency(SUnit *SU) const { in getUnscheduledLatency()
719 unsigned getLatencyStallCycles(SUnit *SU);
723 bool checkHazard(SUnit *SU);
725 unsigned findMaxLatency(ArrayRef<SUnit*> ReadySUs);
729 void releaseNode(SUnit *SU, unsigned ReadyCycle);
731 void releaseTopNode(SUnit *SU);
733 void releaseBottomNode(SUnit *SU);
741 void bumpNode(SUnit *SU);
745 void removeReady(SUnit *SU);
750 SUnit *pickOnlyChoice();
816 SUnit *SU;
912 SUnit *pickNode(bool &IsTopNode) override;
914 void schedNode(SUnit *SU, bool IsTopNode) override;
916 void releaseTopNode(SUnit *SU) override { in releaseTopNode()
921 void releaseBottomNode(SUnit *SU) override { in releaseBottomNode()
931 void initCandidate(SchedCandidate &Cand, SUnit *SU, bool AtTop,
939 SUnit *pickNodeBidirectional(bool &IsTopNode);
946 void reschedulePhysRegCopies(SUnit *SU, bool isTop);
957 SmallVector<SUnit*, 8> BotRoots;
977 SUnit *pickNode(bool &IsTopNode) override;
983 void schedNode(SUnit *SU, bool IsTopNode) override;
985 void releaseTopNode(SUnit *SU) override { in releaseTopNode()
990 void releaseBottomNode(SUnit *SU) override { in releaseBottomNode()