Home
last modified time | relevance | path

Searched refs:SUnit (Results 1 – 25 of 63) sorted by relevance

123

/freebsd-12.1/contrib/llvm/include/llvm/CodeGen/
H A DResourcePriorityQueue.h35 bool operator()(const SUnit* LHS, const SUnit* RHS) const;
40 std::vector<SUnit> *SUnits;
49 std::vector<SUnit*> Queue;
71 std::vector<SUnit*> Packet;
106 int SUSchedulingCost (SUnit *SU);
110 void initNumRegDefsLeft(SUnit *SU);
117 void push(SUnit *U) override;
119 SUnit *pop() override;
121 void remove(SUnit *SU) override;
126 void reserveResources(SUnit *SU);
[all …]
H A DScheduleDAG.h42 class SUnit; variable
246 class SUnit {
333 SUnit()
623 SUnit *Node;
696 SUnit *ExitSU;
718 ScheduleDAGTopologicalSort(std::vector<SUnit> &SUnits, SUnit *ExitSU);
728 std::vector<int> GetSubGraph(const SUnit &StartSU, const SUnit &TargetSU,
732 bool IsReachable(const SUnit *SU, const SUnit *TargetSU);
735 bool WillCreateCycle(SUnit *TargetSU, SUnit *SU);
739 void AddPred(SUnit *Y, SUnit *X);
[all …]
H A DScheduleDAGInstrs.h55 SUnit *SU;
70 unsigned OperandIndex, SUnit *SU) in VReg2SUnitOperIdx()
77 SUnit *SU;
158 DenseMap<MachineInstr*, SUnit*> MISUnitMap;
182 SUnit *BarrierChain = nullptr;
190 using SUList = std::list<SUnit *>;
206 void addChainDependency(SUnit *SUa, SUnit *SUb,
211 for (SUnit *Entry : SUs) in addChainDependencies()
273 SUnit *newSUnit(MachineInstr *MI);
276 SUnit *getSUnit(MachineInstr *MI) const;
[all …]
H A DMachineScheduler.h325 bool canAddEdge(SUnit *SuccSU, SUnit *PredSU);
371 void initQueues(ArrayRef<SUnit*> TopRoots, ArrayRef<SUnit*> BotRoots);
512 void initQueues(ArrayRef<SUnit*> TopRoots, ArrayRef<SUnit*> BotRoots);
526 void collectVRegUses(SUnit &SU);
545 std::vector<SUnit*> Queue;
573 void push(SUnit *SU) { in push()
761 bool checkHazard(SUnit *SU);
775 void bumpNode(SUnit *SU);
779 void removeReady(SUnit *SU);
784 SUnit *pickOnlyChoice();
[all …]
H A DMachinePipeliner.h134 SetVector<SUnit *> NodeOrder;
153 std::vector<SUnit> &SUnits;
154 SetVector<SUnit *> Stack;
222 int getZeroLatencyDepth(SUnit *Node) { in getZeroLatencyDepth()
248 unsigned getDistance(SUnit *U, SUnit *V, const SDep &Dep) { in getDistance()
265 unsigned getInstrBaseReg(SUnit *SU) { in getInstrBaseReg()
354 SetVector<SUnit *> Nodes;
360 SUnit *ExceedPressure = nullptr;
407 for (SUnit *SU : *this) { in computeNodeSetInfo()
474 std::map<SUnit *, int> InstrToCycle;
[all …]
H A DLatencyPriorityQueue.h30 bool operator()(const SUnit* LHS, const SUnit* RHS) const;
35 std::vector<SUnit> *SUnits;
44 std::vector<SUnit*> Queue;
58 void addNode(const SUnit *SU) override { in addNode()
62 void updateNode(const SUnit *SU) override { in updateNode()
81 void push(SUnit *U) override;
83 SUnit *pop() override;
85 void remove(SUnit *SU) override;
95 void scheduledNode(SUnit *SU) override;
98 void AdjustPriorityOfUnscheduledPreds(SUnit *SU);
[all …]
/freebsd-12.1/contrib/llvm/lib/CodeGen/
H A DScheduleDAG.cpp62 EntrySU = SUnit(); in clearDAG()
63 ExitSU = SUnit(); in clearDAG()
389 for (const SUnit &SUnit : SUnits) { in VerifyScheduledDAG() local
391 if (SUnit.NumPreds == 0 && SUnit.NumSuccs == 0) { in VerifyScheduledDAG()
397 dumpNode(SUnit); in VerifyScheduledDAG()
402 (isBottomUp ? SUnit.getHeight() : SUnit.getDepth()) > in VerifyScheduledDAG()
406 dumpNode(SUnit); in VerifyScheduledDAG()
415 dumpNode(SUnit); in VerifyScheduledDAG()
513 void ScheduleDAGTopologicalSort::AddPred(SUnit *Y, SUnit *X) { in AddPred()
529 void ScheduleDAGTopologicalSort::RemovePred(SUnit *M, SUnit *N) { in RemovePred()
[all …]
H A DLatencyPriorityQueue.cpp24 bool latency_sort::operator()(const SUnit *LHS, const SUnit *RHS) const { in operator ()()
57 SUnit *LatencyPriorityQueue::getSingleUnscheduledPred(SUnit *SU) { in getSingleUnscheduledPred()
58 SUnit *OnlyAvailablePred = nullptr; in getSingleUnscheduledPred()
61 SUnit &Pred = *I->getSUnit(); in getSingleUnscheduledPred()
74 void LatencyPriorityQueue::push(SUnit *SU) { in push()
93 void LatencyPriorityQueue::scheduledNode(SUnit *SU) { in scheduledNode()
121 SUnit *LatencyPriorityQueue::pop() { in pop()
128 SUnit *V = *Best; in pop()
135 void LatencyPriorityQueue::remove(SUnit *SU) { in remove()
137 std::vector<SUnit *>::iterator I = find(Queue, SU); in remove()
[all …]
H A DMachinePipeliner.cpp446 static bool isSuccOrder(SUnit *SUa, SUnit *SUb) { in isSuccOrder()
1026 SUnit *W = *SI; in unblock()
1292 static bool computePath(SUnit *Cur, SetVector<SUnit *> &Path, in computePath()
1347 for (SUnit *SU : NS) in computeLiveOuts()
1379 llvm::sort(SUnits, [](const SUnit *A, const SUnit *B) { in registerPressureFilter()
1493 for (SUnit *I : N) in groupRemainingNodes()
1502 for (SUnit *I : N) in groupRemainingNodes()
1757 SUnit *SU = *NI; in schedulePipeline()
3216 static SUnit *multipleIterations(SUnit *SU, SwingSchedulerDAG *DAG) { in multipleIterations()
3519 SUnit *Succ; in checkValidNodeOrder()
[all …]
H A DMachineScheduler.cpp608 bool ScheduleDAGMI::canAddEdge(SUnit *SuccSU, SUnit *PredSU) { in canAddEdge()
1486 SUnit *SU;
3083 for (SUnit *SU : Q) { in pickNodeFromQueue()
3186 SUnit *SU; in pickNode()
3372 for (SUnit *SU : Q) { in pickNodeFromQueue()
3391 SUnit *SU; in pickNode()
3446 bool operator()(const SUnit *A, const SUnit *B) const { in operator ()()
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>>
[all …]
/freebsd-12.1/contrib/llvm/lib/CodeGen/SelectionDAG/
H A DScheduleDAGRRList.cpp187 DenseMap<SUnit*, SUnit*> CallSeqEndForStart;
219 bool WillCreateCycle(SUnit *SU, SUnit *TargetSU) { in WillCreateCycle()
255 void BacktrackBottomUp(SUnit*, SUnit*);
256 SUnit *TryUnfoldSU(SUnit *);
257 SUnit *CopyAndMoveSuccessors(SUnit*);
282 SUnit *CreateClone(SUnit *N) { in CreateClone()
974 SUnit *ScheduleDAGRRList::TryUnfoldSU(SUnit *SU) { in TryUnfoldSU()
1658 bool operator()(SUnit* left, SUnit* right) const;
1672 bool operator()(SUnit* left, SUnit* right) const;
1688 bool operator()(SUnit* left, SUnit* right) const;
[all …]
H A DScheduleDAGFast.cpp50 SmallVector<SUnit *, 16> Queue;
54 void push(SUnit *U) { in push()
58 SUnit *pop() { in pop()
60 SUnit *V = Queue.back(); in pop()
78 std::vector<SUnit*> LiveRegDefs;
103 SUnit *CopyAndMoveSuccessors(SUnit*);
211 SUnit *ScheduleDAGFast::CopyAndMoveSuccessors(SUnit *SU) { in CopyAndMoveSuccessors()
219 SUnit *NewSU; in CopyAndMoveSuccessors()
251 SUnit *NewSU = newSUnit(N); in CopyAndMoveSuccessors()
269 SUnit *LoadSU; in CopyAndMoveSuccessors()
[all …]
H A DResourcePriorityQueue.cpp74 SUnit *PredSU = Pred.getSUnit(); in numberRCValPredInSU()
111 SUnit *SuccSU = Succ.getSUnit(); in numberRCValSuccInSU()
141 static unsigned numberCtrlDepsInSU(SUnit *SU) { in numberCtrlDepsInSU()
167 SUnit *SU = &(*SUnits)[i]; in initNodes()
175 bool resource_sort::operator()(const SUnit *LHS, const SUnit *RHS) const { in operator ()()
209 SUnit *ResourcePriorityQueue::getSingleUnscheduledPred(SUnit *SU) { in getSingleUnscheduledPred()
210 SUnit *OnlyAvailablePred = nullptr; in getSingleUnscheduledPred()
212 SUnit &PredSU = *Pred.getSUnit(); in getSingleUnscheduledPred()
224 void ResourcePriorityQueue::push(SUnit *SU) { in push()
583 SUnit *ResourcePriorityQueue::pop() { in pop()
[all …]
H A DScheduleDAGSDNodes.h53 std::vector<SUnit*> Sequence;
86 SUnit *newSUnit(SDNode *N);
91 SUnit *Clone(SUnit *Old);
101 void InitNumRegDefsLeft(SUnit *SU);
105 virtual void computeLatency(SUnit *SU);
125 void dumpNode(const SUnit &SU) const override;
129 std::string getGraphNodeLabel(const SUnit *SU) const override;
146 RegDefIter(const SUnit *SU, const ScheduleDAGSDNodes *SD);
187 void EmitPhysRegCopy(SUnit *SU, DenseMap<SUnit*, unsigned> &VRBaseMap,
H A DScheduleDAGVLIW.cpp62 std::vector<SUnit*> PendingQueue;
87 void releaseSucc(SUnit *SU, const SDep &D);
88 void releaseSuccessors(SUnit *SU);
89 void scheduleNodeTopDown(SUnit *SU, unsigned CurCycle);
115 void ScheduleDAGVLIW::releaseSucc(SUnit *SU, const SDep &D) { in releaseSucc()
116 SUnit *SuccSU = D.getSUnit(); in releaseSucc()
139 void ScheduleDAGVLIW::releaseSuccessors(SUnit *SU) { in releaseSuccessors()
141 for (SUnit::succ_iterator I = SU->Succs.begin(), E = SU->Succs.end(); in releaseSuccessors()
185 std::vector<SUnit*> NotReady; in listScheduleTopDown()
212 SUnit *FoundSUnit = nullptr; in listScheduleTopDown()
[all …]
/freebsd-12.1/contrib/llvm/lib/Target/AMDGPU/
H A DR600MachineScheduler.h55 std::vector<SUnit *> AvailableAlus[AluLast];
56 std::vector<SUnit *> PhysicalRegCopy;
74 SUnit *pickNode(bool &IsTopNode) override;
76 void releaseTopNode(SUnit *SU) override;
77 void releaseBottomNode(SUnit *SU) override;
83 int getInstKind(SUnit *SU);
85 AluKind getAluKind(SUnit *SU) const;
90 SUnit *PopInst(std::vector<SUnit*> &Q, bool AnyALU);
93 SUnit* pickAlu();
94 SUnit* pickOther(int QID);
[all …]
H A DGCNILPSched.cpp24 SUnit *SU;
26 Candidate(SUnit *SU_) in Candidate()
43 const SUnit *pickBest(const SUnit *left, const SUnit *right);
51 std::vector<const SUnit*> schedule(ArrayRef<const SUnit*> TopRoots,
67 SUnit *PredSU = Pred.getSUnit(); in CalcNodeSethiUllmanNumber()
133 static int BUCompareLatency(const SUnit *left, const SUnit *right) { in BUCompareLatency()
163 const SUnit *GCNILPScheduler::pickBest(const SUnit *left, const SUnit *right) in pickBest()
290 std::vector<const SUnit*>
300 for (const SUnit &SU : SUnits) in schedule()
304 for (const SUnit &SU : SUnits) in schedule()
[all …]
H A DGCNMinRegStrategy.cpp32 const SUnit *SU;
35 Candidate(const SUnit *SU_, int Priority_ = 0) in Candidate()
45 bool isScheduled(const SUnit *SU) const { in isScheduled()
50 void setIsScheduled(const SUnit *SU) { in setIsScheduled()
55 unsigned getNumPreds(const SUnit *SU) const { in getNumPreds()
61 unsigned decNumPreds(const SUnit *SU) { in decNumPreds()
81 std::vector<const SUnit*> schedule(ArrayRef<const SUnit*> TopRoots,
185 SmallPtrSet<const SUnit*, 32> Set; in bumpPredsPriority()
232 std::vector<const SUnit*>
236 std::vector<const SUnit*> Schedule; in schedule()
[all …]
H A DR600MachineScheduler.cpp59 SUnit *SU = nullptr; in pickNode()
134 const SUnit &S = DAG->SUnits[i]; in pickNode()
294 int R600SchedStrategy::getInstKind(SUnit* SU) { in getInstKind()
318 SUnit *R600SchedStrategy::PopInst(std::vector<SUnit *> &Q, bool AnyALU) { in PopInst()
323 SUnit *SU = *It; in PopInst()
338 std::vector<SUnit *> &QSrc = Pending[IDAlu]; in LoadAlu()
407 SUnit* R600SchedStrategy::pickAlu() { in pickAlu()
432 SUnit *SU = AttemptFillSlot(3, true); in pickAlu()
454 SUnit* R600SchedStrategy::pickOther(int QID) { in pickOther()
455 SUnit *SU = nullptr; in pickOther()
[all …]
/freebsd-12.1/contrib/llvm/lib/Target/Hexagon/
H A DHexagonMachineScheduler.h34 class SUnit; variable
46 std::vector<SUnit *> Packet;
83 bool reserveResources(SUnit *SU, bool IsTop);
116 SUnit *SU = nullptr;
196 bool checkHazard(SUnit *SU);
202 void bumpNode(SUnit *SU);
206 void removeReady(SUnit *SU);
208 SUnit *pickOnlyChoice();
210 bool isLatencyBound(SUnit *SU) { in isLatencyBound()
240 SUnit *pickNode(bool &IsTopNode) override;
[all …]
H A DHexagonSubtarget.h39 class SUnit; variable
80 const SUnit &Inst1, const SUnit &Inst2) const;
215 void adjustSchedDependency(SUnit *def, SUnit *use, SDep& dep) const override;
273 void restoreLatency(SUnit *Src, SUnit *Dst) const;
274 void changeLatency(SUnit *Src, SUnit *Dst, unsigned Lat) const;
275 bool isBestZeroLatency(SUnit *Src, SUnit *Dst, const HexagonInstrInfo *TII,
276 SmallSet<SUnit*, 4> &ExclSrc, SmallSet<SUnit*, 4> &ExclDst) const;
H A DHexagonSubtarget.cpp130 for (SUnit &SU : DAG->SUnits) { in apply()
274 SUnit &S0 = DAG->SUnits[i]; in apply()
321 void HexagonSubtarget::adjustSchedDependency(SUnit *Src, SUnit *Dst, in adjustSchedDependency()
331 SmallSet<SUnit *, 4> ExclSrc; in adjustSchedDependency()
332 SmallSet<SUnit *, 4> ExclDst; in adjustSchedDependency()
420 void HexagonSubtarget::restoreLatency(SUnit *Src, SUnit *Dst) const { in restoreLatency()
459 void HexagonSubtarget::changeLatency(SUnit *Src, SUnit *Dst, unsigned Lat) in changeLatency()
476 static SUnit *getZeroLatency(SUnit *N, SmallVector<SDep, 4> &Deps) { in getZeroLatency()
488 bool HexagonSubtarget::isBestZeroLatency(SUnit *Src, SUnit *Dst, in isBestZeroLatency()
512 SUnit *Best = nullptr; in isBestZeroLatency()
[all …]
/freebsd-12.1/contrib/llvm/lib/Target/SystemZ/
H A DSystemZHazardRecognizer.h73 inline unsigned getNumDecoderSlots(SUnit *SU) const;
76 bool fitsIntoCurrentGroup(SUnit *SU) const;
86 unsigned getCurrCycleIdx(SUnit *SU = nullptr) const;
105 bool isFPdOpPreferred_distance(SUnit *SU) const;
117 HazardType getHazardType(SUnit *m, int Stalls = 0) override;
119 void EmitInstruction(SUnit *SU) override;
122 const MCSchedClassDesc *getSchedClass(SUnit *SU) const { in getSchedClass()
138 int groupingCost(SUnit *SU) const;
143 int resourcesCost(SUnit *SU);
148 void dumpSU(SUnit *SU, raw_ostream &OS) const;
H A DSystemZMachineScheduler.h43 SUnit *SU = nullptr;
52 Candidate(SUnit *SU_, SystemZHazardRecognizer &HazardRec);
75 bool operator() (SUnit *lhs, SUnit *rhs) const { in operator()
90 struct SUSet : std::set<SUnit*, SUSorter> {
140 SUnit *pickNode(bool &IsTopNode) override;
144 void schedNode(SUnit *SU, bool IsTopNode) override;
148 void releaseTopNode(SUnit *SU) override;
151 void releaseBottomNode(SUnit *SU) override {}; in releaseBottomNode()
/freebsd-12.1/contrib/llvm/lib/Target/PowerPC/
H A DPPCHazardRecognizers.h28 SmallVector<SUnit *, 7> CurGroup;
31 bool isLoadAfterStore(SUnit *SU);
32 bool isBCTRAfterSet(SUnit *SU);
40 HazardType getHazardType(SUnit *SU, int Stalls) override;
41 bool ShouldPreferAnother(SUnit* SU) override;
42 unsigned PreEmitNoops(SUnit *SU) override;
43 void EmitInstruction(SUnit *SU) override;
79 HazardType getHazardType(SUnit *SU, int Stalls) override;
80 void EmitInstruction(SUnit *SU) override;

123