| /freebsd-12.1/contrib/llvm/include/llvm/CodeGen/ |
| H A D | ResourcePriorityQueue.h | 35 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 D | ScheduleDAG.h | 42 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 D | ScheduleDAGInstrs.h | 55 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 D | MachineScheduler.h | 325 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 D | MachinePipeliner.h | 134 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 D | LatencyPriorityQueue.h | 30 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 D | ScheduleDAG.cpp | 62 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 D | LatencyPriorityQueue.cpp | 24 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 D | MachinePipeliner.cpp | 446 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 D | MachineScheduler.cpp | 608 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 D | ScheduleDAGRRList.cpp | 187 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 D | ScheduleDAGFast.cpp | 50 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 D | ResourcePriorityQueue.cpp | 74 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 D | ScheduleDAGSDNodes.h | 53 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 D | ScheduleDAGVLIW.cpp | 62 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 D | R600MachineScheduler.h | 55 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 D | GCNILPSched.cpp | 24 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 D | GCNMinRegStrategy.cpp | 32 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 D | R600MachineScheduler.cpp | 59 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 D | HexagonMachineScheduler.h | 34 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 D | HexagonSubtarget.h | 39 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 D | HexagonSubtarget.cpp | 130 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 D | SystemZHazardRecognizer.h | 73 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 D | SystemZMachineScheduler.h | 43 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 D | PPCHazardRecognizers.h | 28 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;
|