/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/Hexagon/ |
H A D | HexagonMachineScheduler.cpp | 92 /// Check if scheduling of this SU is possible 97 bool VLIWResourceModel::isResourceAvailable(SUnit *SU, bool IsTop) { in isResourceAvailable() argument 98 if (!SU || !SU->getInstr()) in isResourceAvailable() 103 switch (SU->getInstr()->getOpcode()) { in isResourceAvailable() 105 if (!ResourcesModel->canReserveResources(*SU->getInstr())) in isResourceAvailable() 119 MachineBasicBlock *MBB = SU->getInstr()->getParent(); in isResourceAvailable() 127 if (hasDependence(Packet[i], SU, QII)) in isResourceAvailable() 131 if (hasDependence(SU, Packet[i], QII)) in isResourceAvailable() 138 bool VLIWResourceModel::reserveResources(SUnit *SU, boo argument 228 SUnit *SU = SchedImpl->pickNode(IsTopNode); schedule() local 288 releaseTopNode(SUnit *SU) releaseTopNode() argument 304 releaseBottomNode(SUnit *SU) releaseBottomNode() argument 336 checkHazard(SUnit *SU) checkHazard() argument 347 releaseNode(SUnit *SU, unsigned ReadyCycle) releaseNode() argument 389 bumpNode(SUnit *SU) bumpNode() argument 427 SUnit *SU = *(Pending.begin()+i); releasePending() local 447 removeReady(SUnit *SU) removeReady() argument 484 traceCandidate(const char *Label, const ReadyQueue &Q, SUnit *SU, int Cost, PressureChange P) traceCandidate() argument 521 isSingleUnscheduledPred(SUnit *SU, SUnit *SU2) isSingleUnscheduledPred() argument 536 isSingleUnscheduledSucc(SUnit *SU, SUnit *SU2) isSingleUnscheduledSucc() argument 553 pressureChange(const SUnit *SU, bool isBotUp) pressureChange() argument 576 SchedulingCost(ReadyQueue &Q, SUnit *SU, SchedCandidate &Candidate, RegPressureDelta &Delta, bool verbose) SchedulingCost() argument 951 SUnit *SU; pickNode() local 994 schedNode(SUnit *SU, bool IsTopNode) schedNode() argument [all...] |
H A D | HexagonMachineScheduler.h | 81 bool isResourceAvailable(SUnit *SU, bool IsTop); 82 bool reserveResources(SUnit *SU, bool IsTop); 84 bool isInPacket(SUnit *SU) const { return is_contained(Packet, SU); } in isInPacket() 115 SUnit *SU = nullptr; member 185 for (auto &SU : DAG->SUnits) in init() 186 MaxPath = std::max(MaxPath, isTop() ? SU.getHeight() : SU.getDepth()); in init() 195 bool checkHazard(SUnit *SU); 197 void releaseNode(SUnit *SU, unsigne [all...] |
H A D | HexagonHazardRecognizer.cpp | 39 HexagonHazardRecognizer::getHazardType(SUnit *SU, int stalls) { in getHazardType() argument 40 MachineInstr *MI = SU->getInstr(); in getHazardType() 68 if (SU == UsesDotCur && DotCurPNum != (int)PacketNum) { in getHazardType() 100 bool HexagonHazardRecognizer::ShouldPreferAnother(SUnit *SU) { in ShouldPreferAnother() argument 101 if (PrefVectorStoreNew != nullptr && PrefVectorStoreNew != SU) in ShouldPreferAnother() 103 if (UsesLoad && SU->isInstr() && SU->getInstr()->mayLoad()) in ShouldPreferAnother() 105 return UsesDotCur && ((SU == UsesDotCur) ^ (DotCurPNum == (int)PacketNum)); in ShouldPreferAnother() 108 void HexagonHazardRecognizer::EmitInstruction(SUnit *SU) { in EmitInstruction() argument 109 MachineInstr *MI = SU in EmitInstruction() [all...] |
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/CodeGen/SelectionDAG/ |
H A D | ResourcePriorityQueue.cpp | 67 ResourcePriorityQueue::numberRCValPredInSU(SUnit *SU, unsigned RCId) { in numberRCValPredInSU() argument 69 for (SDep &Pred : SU->Preds) { in numberRCValPredInSU() 104 unsigned ResourcePriorityQueue::numberRCValSuccInSU(SUnit *SU, in numberRCValSuccInSU() argument 107 for (const SDep &Succ : SU->Succs) { in numberRCValSuccInSU() 142 static unsigned numberCtrlDepsInSU(SUnit *SU) { in numberCtrlDepsInSU() argument 144 for (const SDep &Succ : SU->Succs) in numberCtrlDepsInSU() 151 static unsigned numberCtrlPredInSU(SUnit *SU) { in numberCtrlPredInSU() argument 153 for (SDep &Pred : SU->Preds) in numberCtrlPredInSU() 168 SUnit *SU = &(*SUnits)[i]; in initNodes() local 169 initNumRegDefsLeft(SU); in initNodes() 210 getSingleUnscheduledPred(SUnit *SU) getSingleUnscheduledPred() argument 225 push(SUnit *SU) push() argument 239 isResourceAvailable(SUnit *SU) isResourceAvailable() argument 282 reserveResources(SUnit *SU) reserveResources() argument 319 rawRegPressureDelta(SUnit *SU, unsigned RCId) rawRegPressureDelta() argument 353 regPressureDelta(SUnit *SU, bool RawPressure) regPressureDelta() argument 389 SUSchedulingCost(SUnit *SU) SUSchedulingCost() argument 460 scheduledNode(SUnit *SU) scheduledNode() argument 534 initNumRegDefsLeft(SUnit *SU) initNumRegDefsLeft() argument 567 adjustPriorityOfUnscheduledPreds(SUnit *SU) adjustPriorityOfUnscheduledPreds() argument 618 remove(SUnit *SU) remove() argument [all...] |
H A D | ScheduleDAGRRList.cpp | 211 /// IsReachable - Checks if SU is reachable from TargetSU. 212 bool IsReachable(const SUnit *SU, const SUnit *TargetSU) { in IsReachable() argument 213 return Topo.IsReachable(SU, TargetSU); in IsReachable() 216 /// WillCreateCycle - Returns true if adding an edge from SU to TargetSU will 218 bool WillCreateCycle(SUnit *SU, SUnit *TargetSU) { in WillCreateCycle() argument 219 return Topo.WillCreateCycle(SU, TargetSU); in WillCreateCycle() 222 /// AddPredQueued - Queues and update to add a predecessor edge to SUnit SU. 225 void AddPredQueued(SUnit *SU, const SDep &D) { in AddPredQueued() argument 226 Topo.AddPredQueued(SU, D.getSUnit()); in AddPredQueued() 227 SU in AddPredQueued() 233 AddPred(SUnit *SU, const SDep &D) AddPred() argument 241 RemovePred(SUnit *SU, const SDep &D) RemovePred() argument 247 isReady(SUnit *SU) isReady() argument 398 ReleasePred(SUnit *SU, const SDep *PredEdge) ReleasePred() argument 554 ReleasePredecessors(SUnit *SU) ReleasePredecessors() argument 651 AdvancePastStalls(SUnit *SU) AdvancePastStalls() argument 693 EmitNode(SUnit *SU) EmitNode() argument 736 ScheduleNodeBottomUp(SUnit *SU) ScheduleNodeBottomUp() argument 835 UnscheduleNodeBottomUp(SUnit *SU) UnscheduleNodeBottomUp() argument 938 SUnit *SU = *I; RestoreHazardCheckerBottomUp() local 948 BacktrackBottomUp(SUnit *SU, SUnit *BtSU) BacktrackBottomUp() argument 970 isOperandOf(const SUnit *SU, SDNode *N) isOperandOf() argument 980 TryUnfoldSU(SUnit *SU) TryUnfoldSU() argument 1134 CopyAndMoveSuccessors(SUnit *SU) CopyAndMoveSuccessors() argument 1222 InsertCopiesAndMoveSuccs(SUnit *SU, unsigned Reg, const TargetRegisterClass *DestRC, const TargetRegisterClass *SrcRC, SmallVectorImpl<SUnit*> &Copies) InsertCopiesAndMoveSuccs() argument 1297 CheckForLiveRegDef(SUnit *SU, unsigned Reg, SUnit **LiveRegDefs, SmallSet<unsigned, 4> &RegAdded, SmallVectorImpl<unsigned> &LRegs, const TargetRegisterInfo *TRI) CheckForLiveRegDef() argument 1319 CheckForLiveRegDefMasked(SUnit *SU, const uint32_t *RegMask, ArrayRef<SUnit*> LiveRegDefs, SmallSet<unsigned, 4> &RegAdded, SmallVectorImpl<unsigned> &LRegs) CheckForLiveRegDefMasked() argument 1346 DelayForLiveRegsBottomUp(SUnit *SU, SmallVectorImpl<unsigned> &LRegs) DelayForLiveRegsBottomUp() argument 1437 SUnit *SU = Interferences[i-1]; releaseInterferences() local 1618 SUnit *SU = PickNodeToScheduleBottomUp(); ListScheduleBottomUp() local 1906 SUnit *SU = popFromQueue(DumpQueue, DumpPicker, scheduleDAG); global() variable [all...] |
H A D | ScheduleDAGVLIW.cpp | 85 void releaseSucc(SUnit *SU, const SDep &D); 86 void releaseSuccessors(SUnit *SU); 87 void scheduleNodeTopDown(SUnit *SU, unsigned CurCycle); 113 void ScheduleDAGVLIW::releaseSucc(SUnit *SU, const SDep &D) { in releaseSucc() argument 128 SuccSU->setDepthToAtLeast(SU->getDepth() + D.getLatency()); in releaseSucc() 137 void ScheduleDAGVLIW::releaseSuccessors(SUnit *SU) { in releaseSuccessors() argument 139 for (SUnit::succ_iterator I = SU->Succs.begin(), E = SU->Succs.end(); in releaseSuccessors() 144 releaseSucc(SU, *I); in releaseSuccessors() 151 void ScheduleDAGVLIW::scheduleNodeTopDown(SUnit *SU, unsigne argument [all...] |
H A D | ScheduleDAGSDNodes.cpp | 78 SUnit *SU = &SUnits.back(); in newSUnit() local 83 SU->SchedulingPref = Sched::None; in newSUnit() 85 SU->SchedulingPref = TLI.getSchedulingPreference(N); in newSUnit() 86 return SU; in newSUnit() 90 SUnit *SU = newSUnit(Old->getNode()); in Clone() local 91 SU->OrigNode = Old->OrigNode; in Clone() 92 SU->Latency = Old->Latency; in Clone() 93 SU->isVRegCycle = Old->isVRegCycle; in Clone() 94 SU->isCall = Old->isCall; in Clone() 95 SU in Clone() [all...] |
H A D | ScheduleDAGFast.cpp | 86 /// AddPred - adds a predecessor edge to SUnit SU. 88 void AddPred(SUnit *SU, const SDep &D) { in AddPred() argument 89 SU->addPred(D); in AddPred() 92 /// RemovePred - removes a predecessor edge from SUnit SU. 94 void RemovePred(SUnit *SU, const SDep &D) { in RemovePred() argument 95 SU->removePred(D); in RemovePred() 99 void ReleasePred(SUnit *SU, SDep *PredEdge); 100 void ReleasePredecessors(SUnit *SU, unsigned CurCycle); 139 void ScheduleDAGFast::ReleasePred(SUnit *SU, SDep *PredEdge) { in ReleasePred() argument 160 void ScheduleDAGFast::ReleasePredecessors(SUnit *SU, unsigne argument 181 ScheduleNodeBottomUp(SUnit *SU, unsigned CurCycle) ScheduleNodeBottomUp() argument 210 CopyAndMoveSuccessors(SUnit *SU) CopyAndMoveSuccessors() argument 380 InsertCopiesAndMoveSuccs(SUnit *SU, unsigned Reg, const TargetRegisterClass *DestRC, const TargetRegisterClass *SrcRC, SmallVectorImpl<SUnit*> &Copies) InsertCopiesAndMoveSuccs() argument 446 CheckForLiveRegDef(SUnit *SU, unsigned Reg, std::vector<SUnit*> &LiveRegDefs, SmallSet<unsigned, 4> &RegAdded, SmallVectorImpl<unsigned> &LRegs, const TargetRegisterInfo *TRI) CheckForLiveRegDef() argument 467 DelayForLiveRegsBottomUp(SUnit *SU, SmallVectorImpl<unsigned> &LRegs) DelayForLiveRegsBottomUp() argument [all...] |
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/AMDGPU/ |
H A D | GCNMinRegStrategy.cpp | 31 const SUnit *SU; member 35 : SU(SU_), Priority(Priority_) {} in Candidate() 44 bool isScheduled(const SUnit *SU) const { in isScheduled() 45 assert(!SU->isBoundaryNode()); in isScheduled() 46 return NumPreds[SU->NodeNum] == std::numeric_limits<unsigned>::max(); in isScheduled() 49 void setIsScheduled(const SUnit *SU) { in setIsScheduled() argument 50 assert(!SU->isBoundaryNode()); in setIsScheduled() 51 NumPreds[SU->NodeNum] = std::numeric_limits<unsigned>::max(); in setIsScheduled() 54 unsigned getNumPreds(const SUnit *SU) const { in getNumPreds() 55 assert(!SU in getNumPreds() 60 decNumPreds(const SUnit *SU) decNumPreds() argument 199 auto SU = Worklist.pop_back_val(); bumpPredsPriority() local 220 releaseSuccessors(const SUnit* SU, int Priority) releaseSuccessors() argument 259 auto SU = C->SU; schedule() local [all...] |
H A D | GCNILPSched.cpp | 24 SUnit *SU; member 27 : SU(SU_) {} in Candidate() 41 unsigned getNodePriority(const SUnit *SU) const; 48 void releasePredecessors(const SUnit* SU); 59 CalcNodeSethiUllmanNumber(const SUnit *SU, std::vector<unsigned> &SUNumbers) { in CalcNodeSethiUllmanNumber() argument 60 unsigned &SethiUllmanNumber = SUNumbers[SU->NodeNum]; in CalcNodeSethiUllmanNumber() 65 for (const SDep &Pred : SU->Preds) { in CalcNodeSethiUllmanNumber() 87 unsigned GCNILPScheduler::getNodePriority(const SUnit *SU) const { in getNodePriority() 88 assert(SU->NodeNum < SUNumbers.size()); in getNodePriority() 89 if (SU in getNodePriority() 107 closestSucc(const SUnit *SU) closestSucc() argument 122 calcMaxScratches(const SUnit *SU) calcMaxScratches() argument 276 releasePredecessors(const SUnit* SU) releasePredecessors() argument 337 auto SU = C->SU; schedule() local [all...] |
H A D | SIMachineScheduler.cpp | 197 void SIScheduleBlock::addUnit(SUnit *SU) { in addUnit() argument 198 NodeNum2Index[SU->NodeNum] = SUnits.size(); in addUnit() 199 SUnits.push_back(SU); in addUnit() 205 dbgs() << " SU(" << Cand.SU->NodeNum << ") " << getReasonStr(Cand.Reason); in traceCandidate() 257 if (TryCand.SU->NodeNum < Cand.SU->NodeNum) { in tryCandidateTopDown() 265 for (SUnit* SU : TopReadySUs) { in pickNode() 270 TryCand.SU = SU; in pickNode() 299 SUnit *SU = TopReadySUs[0]; fastSchedule() local 417 SUnit *SU = pickNode(); schedule() local 453 undoReleaseSucc(SUnit *SU, SDep *SuccEdge) undoReleaseSucc() argument 463 releaseSucc(SUnit *SU, SDep *SuccEdge) releaseSucc() argument 483 releaseSuccessors(SUnit *SU, bool InOrOutBlock) releaseSuccessors() argument 499 nodeScheduled(SUnit *SU) nodeScheduled() argument 644 isSUInBlock(SUnit *SU, unsigned ID) isSUInBlock() argument 654 SUnit *SU = &DAG->SUnits[i]; colorHighLatenciesAlone() local 662 hasDataDependencyPred(const SUnit &SU, const SUnit &FromSU) hasDataDependencyPred() argument 680 SUnit *SU = &DAG->SUnits[i]; colorHighLatenciesGroups() local 696 const SUnit &SU = DAG->SUnits[SUNum]; colorHighLatenciesGroups() local 809 SUnit *SU = &DAG->SUnits[SUNum]; colorComputeReservedDependencies() local 851 SUnit *SU = &DAG->SUnits[SUNum]; colorComputeReservedDependencies() local 897 SUnit *SU = &DAG->SUnits[i]; colorAccordingToReservedDependencies() local 934 SUnit *SU = &DAG->SUnits[SUNum]; colorEndsAccordingToDependencies() local 978 SUnit *SU = &DAG->SUnits[i]; colorForceConsecutiveOrderInGroup() local 1004 SUnit *SU = &DAG->SUnits[SUNum]; colorMergeConstantLoadsNextGroup() local 1030 SUnit *SU = &DAG->SUnits[SUNum]; colorMergeIfPossibleNextGroup() local 1051 SUnit *SU = &DAG->SUnits[SUNum]; colorMergeIfPossibleNextGroupOnlyForReserved() local 1073 SUnit *SU = &DAG->SUnits[SUNum]; colorMergeIfPossibleSmallGroupsToNextGroup() local 1079 SUnit *SU = &DAG->SUnits[SUNum]; colorMergeIfPossibleSmallGroupsToNextGroup() local 1112 SUnit *SU = &DAG->SUnits[SUNum]; regroupNoUserInstructions() local 1144 const SUnit &SU = DAG->SUnits[SUNum]; colorExports() local 1219 SUnit *SU = &DAG->SUnits[i]; createBlocksForVariant() local 1233 SUnit *SU = &DAG->SUnits[i]; createBlocksForVariant() local 1828 SUnit *SU = &SUnits[ScheduledSUnits[i]]; moveLowLatencies() local 1950 SUnit *SU = &SUnits[i]; schedule() local 2025 SUnit *SU = &SUnits[*I]; schedule() local [all...] |
H A D | R600MachineScheduler.cpp | 58 SUnit *SU = nullptr; in pickNode() local 98 if (!SU && ((AllowSwitchToAlu && CurInstKind != IDAlu) || in pickNode() 101 SU = pickAlu(); in pickNode() 102 if (!SU && !PhysicalRegCopy.empty()) { in pickNode() 103 SU = PhysicalRegCopy.front(); in pickNode() 106 if (SU) { in pickNode() 113 if (!SU) { in pickNode() 115 SU = pickOther(IDFetch); in pickNode() 116 if (SU) in pickNode() 121 if (!SU) { in pickNode() 142 schedNode(SUnit *SU, bool IsTopNode) schedNode() argument 189 releaseTopNode(SUnit *SU) releaseTopNode() argument 193 releaseBottomNode(SUnit *SU) releaseBottomNode() argument 293 getInstKind(SUnit* SU) getInstKind() argument 322 SUnit *SU = *It; PopInst() local 431 SUnit *SU = AttemptFillSlot(3, true); pickAlu() local 440 SUnit *SU = AttemptFillSlot(Chan, false); pickAlu() local 454 SUnit *SU = nullptr; pickOther() local [all...] |
H A D | GCNSchedStrategy.cpp | 62 void GCNMaxOccupancySchedStrategy::initCandidate(SchedCandidate &Cand, SUnit *SU, in initCandidate() argument 68 Cand.SU = SU; in initCandidate() 79 TempTracker.getDownwardPressure(SU->getInstr(), Pressure, MaxPressure); in initCandidate() 82 // and can be retrieved by DAG->getPressureDif(SU). in initCandidate() 83 TempTracker.getUpwardPressure(SU->getInstr(), Pressure, MaxPressure); in initCandidate() 151 for (SUnit *SU : Q) { in pickNodeFromQueue() 154 initCandidate(TryCand, SU, Zone.isTop(), RPTracker, SRI, in pickNodeFromQueue() 174 if (SUnit *SU = Bot.pickOnlyChoice()) { in pickNodeBidirectional() 176 return SU; in pickNodeBidirectional() 276 SUnit *SU; pickNode() local [all...] |
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/SystemZ/ |
H A D | SystemZHazardRecognizer.cpp | 46 getNumDecoderSlots(SUnit *SU) const { in getNumDecoderSlots() 47 const MCSchedClassDesc *SC = getSchedClass(SU); in getNumDecoderSlots() 61 unsigned SystemZHazardRecognizer::getCurrCycleIdx(SUnit *SU) const { in getCurrCycleIdx() 66 if (SU != nullptr && !fitsIntoCurrentGroup(SU)) { in getCurrCycleIdx() 92 SystemZHazardRecognizer::fitsIntoCurrentGroup(SUnit *SU) const { in fitsIntoCurrentGroup() 93 const MCSchedClassDesc *SC = getSchedClass(SU); in fitsIntoCurrentGroup() 105 if (CurrGroupSize == 2 && has4RegOps(SU->getInstr())) in fitsIntoCurrentGroup() 109 // SU should fit into current group. NumSlots should be 1 or 0, in fitsIntoCurrentGroup() 111 assert ((getNumDecoderSlots(SU) < in fitsIntoCurrentGroup() 167 dumpSU(SUnit *SU, raw_ostream &OS) const dumpSU() argument 271 EmitInstruction(SUnit *SU) EmitInstruction() argument 387 resourcesCost(SUnit *SU) resourcesCost() argument [all...] |
H A D | SystemZMachineScheduler.cpp | 29 for (auto &SU : *this) { in dump() 30 HazardRec.dumpSU(SU, dbgs()); in dump() 31 if (SU != *rbegin()) in dump() 176 for (auto *SU : Available) { in pickNode() 178 // SU is the next candidate to be compared against current Best. in pickNode() 179 Candidate c(SU, *HazardRec); in pickNode() 181 // Remeber which SU is the best candidate. in pickNode() 182 if (Best.SU == nullptr || c < Best) { in pickNode() 187 LLVM_DEBUG(HazardRec->dumpSU(c.SU, dbgs()); c.dumpCosts(); in pickNode() 188 dbgs() << " Height:" << c.SU in pickNode() 241 schedNode(SUnit *SU, bool IsTopNode) schedNode() argument 251 releaseTopNode(SUnit *SU) releaseTopNode() argument [all...] |
H A D | SystemZHazardRecognizer.h | 72 inline unsigned getNumDecoderSlots(SUnit *SU) const; 75 bool fitsIntoCurrentGroup(SUnit *SU) const; 82 /// representing the current decoder slot of the current cycle. If an SU 85 unsigned getCurrCycleIdx(SUnit *SU = nullptr) const; 104 bool isFPdOpPreferred_distance(SUnit *SU) const; 118 void EmitInstruction(SUnit *SU) override; 121 const MCSchedClassDesc *getSchedClass(SUnit *SU) const { in getSchedClass() 122 if (!SU->SchedClass && SchedModel->hasInstrSchedModel()) in getSchedClass() 123 SU->SchedClass = SchedModel->resolveSchedClass(SU in getSchedClass() [all...] |
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/CodeGen/ |
H A D | ScheduleDAGInstrs.cpp | 102 dbgs() << "SU(" << su->NodeNum << ")"; in dumpSUList() 227 /// MO is an operand of SU's instruction that defines a physical register. Adds 228 /// data dependencies from SU to any uses of the physical register. 229 void ScheduleDAGInstrs::addPhysRegDataDeps(SUnit *SU, unsigned OperIdx) { in addPhysRegDataDeps() argument 230 const MachineOperand &MO = SU->getInstr()->getOperand(OperIdx); in addPhysRegDataDeps() 238 const MCInstrDesc *DefMIDesc = &SU->getInstr()->getDesc(); in addPhysRegDataDeps() 246 SUnit *UseSU = I->SU; in addPhysRegDataDeps() 247 if (UseSU == SU) in addPhysRegDataDeps() 256 Dep = SDep(SU, SDep::Artificial); in addPhysRegDataDeps() 260 SU in addPhysRegDataDeps() 289 addPhysRegDeps(SUnit *SU, unsigned OperIdx) addPhysRegDeps() argument 393 addVRegDefDeps(SUnit *SU, unsigned OperIdx) addVRegDefDeps() argument 513 addVRegUseDeps(SUnit *SU, unsigned OperIdx) addVRegUseDeps() argument 574 SUnit *SU = newSUnit(&MI); initSUnits() local 628 insert(SUnit *SU, ValueType V) insert() argument 666 addChainDependencies(SUnit *SU, Value2SUsMap &Val2SUsMap) addChainDependencies() argument 673 addChainDependencies(SUnit *SU, Value2SUsMap &Val2SUsMap, ValueType V) addChainDependencies() argument 813 SUnit *SU = MISUnitMap[&MI]; buildSchedGraph() local 1258 visitPreorder(const SUnit *SU) visitPreorder() argument 1266 visitPostorderNode(const SUnit *SU) visitPostorderNode() argument 1415 follow(const SUnit *SU) follow() argument 1436 hasDataSucc(const SUnit *SU) hasDataSucc() argument [all...] |
H A D | MachineScheduler.cpp | 601 for (const SUnit *SU : Queue) in dump() 602 dbgs() << SU->NodeNum << " "; in dump() 620 void ScheduleDAGMI::releaseSucc(SUnit *SU, SDep *SuccEdge) { in releaseSucc() argument 637 // SU->TopReadyCycle was set to CurrCycle when it was scheduled. However, in releaseSucc() 639 if (SuccSU->TopReadyCycle < SU->TopReadyCycle + SuccEdge->getLatency()) in releaseSucc() 640 SuccSU->TopReadyCycle = SU->TopReadyCycle + SuccEdge->getLatency(); in releaseSucc() 647 /// releaseSuccessors - Call releaseSucc on each of SU's successors. 648 void ScheduleDAGMI::releaseSuccessors(SUnit *SU) { in releaseSuccessors() argument 649 for (SDep &Succ : SU->Succs) in releaseSuccessors() 650 releaseSucc(SU, in releaseSuccessors() 657 releasePred(SUnit *SU, SDep *PredEdge) releasePred() argument 685 releasePredecessors(SUnit *SU) releasePredecessors() argument 775 SUnit *SU = SchedImpl->pickNode(IsTopNode); schedule() local 878 updateQueues(SUnit *SU, bool IsTopNode) updateQueues() argument 931 collectVRegUses(SUnit &SU) collectVRegUses() argument 1070 updateScheduledPressure(const SUnit *SU, const std::vector<unsigned> &NewMaxPressure) updateScheduledPressure() argument 1115 SUnit &SU = *V2SU.SU; updatePressureDiffs() local 1147 SUnit *SU = V2SU.SU; updatePressureDiffs() local 1223 SUnit *SU = SchedImpl->pickNode(IsTopNode); schedule() local 1344 SUnit *SU = V2SU.SU; computeCyclicCriticalPath() local 1389 scheduleMI(SUnit *SU, bool IsTopNode) scheduleMI() argument 1473 SUnit *SU; global() member 1932 getLatencyStallCycles(SUnit *SU) getLatencyStallCycles() argument 1992 checkHazard(SUnit *SU) checkHazard() argument 2086 releaseNode(SUnit *SU, unsigned ReadyCycle, bool InPQueue, unsigned Idx) releaseNode() argument 2205 bumpNode(SUnit *SU) bumpNode() argument 2357 SUnit *SU = *(Pending.begin() + I); releasePending() local 2376 removeReady(SUnit *SU) removeReady() argument 2902 getWeakLeft(const SUnit *SU, bool isTop) getWeakLeft() argument 2913 biasPhysReg(const SUnit *SU, bool isTop) biasPhysReg() argument 2950 initCandidate(SchedCandidate &Cand, SUnit *SU, bool AtTop, const RegPressureTracker &RPTracker, RegPressureTracker &TempTracker) initCandidate() argument 3216 SUnit *SU; pickNode() local 3255 reschedulePhysReg(SUnit *SU, bool isTop) reschedulePhysReg() argument 3286 schedNode(SUnit *SU, bool IsTopNode) schedNode() argument 3422 SUnit *SU; pickNode() local 3450 schedNode(SUnit *SU, bool IsTopNode) schedNode() argument 3530 SUnit *SU = ReadyQ.back(); global() variable 3625 SUnit *SU; global() variable [all...] |
H A D | LatencyPriorityQueue.cpp | 55 /// of SU, return it, otherwise return null. 56 SUnit *LatencyPriorityQueue::getSingleUnscheduledPred(SUnit *SU) { in getSingleUnscheduledPred() argument 58 for (SUnit::const_pred_iterator I = SU->Preds.begin(), E = SU->Preds.end(); in getSingleUnscheduledPred() 73 void LatencyPriorityQueue::push(SUnit *SU) { in push() argument 77 for (SUnit::const_succ_iterator I = SU->Succs.begin(), E = SU->Succs.end(); in push() 79 if (getSingleUnscheduledPred(I->getSUnit()) == SU) in push() 82 NumNodesSolelyBlocking[SU->NodeNum] = NumNodesBlocking; in push() 84 Queue.push_back(SU); in push() 92 scheduledNode(SUnit *SU) scheduledNode() argument 105 AdjustPriorityOfUnscheduledPreds(SUnit *SU) AdjustPriorityOfUnscheduledPreds() argument 134 remove(SUnit *SU) remove() argument [all...] |
H A D | ScheduleDAG.cpp | 222 SUnit *SU = WorkList.pop_back_val(); 223 SU->isDepthCurrent = false; 224 for (SDep &SuccDep : SU->Succs) { 237 SUnit *SU = WorkList.pop_back_val(); 238 SU->isHeightCurrent = false; 239 for (SDep &PredDep : SU->Preds) { 354 LLVM_DUMP_METHOD void ScheduleDAG::dumpNodeName(const SUnit &SU) const { 355 if (&SU == &EntrySU) 357 else if (&SU == &ExitSU) 360 dbgs() << "SU(" << S [all...] |
H A D | MacroFusion.cpp | 39 static SUnit *getPredClusterSU(const SUnit &SU) { in getPredClusterSU() argument 40 for (const SDep &SI : SU.Preds) in getPredClusterSU() 47 static bool hasLessThanNumFused(const SUnit &SU, unsigned FuseLimit) { in hasLessThanNumFused() argument 49 const SUnit *CurrentSU = &SU; in hasLessThanNumFused() 101 SUnit *SU = SI.getSUnit(); in fuseInstructionPair() local 103 SU == &DAG.ExitSU || SU == &SecondSU || SU->isPred(&SecondSU)) in fuseInstructionPair() 106 dbgs() << " - "; DAG.dumpNodeName(*SU); dbgs() << '\n';); in fuseInstructionPair() 107 DAG.addEdge(SU, SDe in fuseInstructionPair() 114 SUnit *SU = SI.getSUnit(); fuseInstructionPair() local [all...] |
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/include/llvm/CodeGen/ |
H A D | MachineScheduler.h | 247 virtual void schedNode(SUnit *SU, bool IsTopNode) = 0; 251 virtual void releaseTopNode(SUnit *SU) = 0; 255 virtual void releaseBottomNode(SUnit *SU) = 0; 359 void updateQueues(SUnit *SU, bool IsTopNode); 373 void releaseSucc(SUnit *SU, SDep *SuccEdge); 374 void releaseSuccessors(SUnit *SU); 375 void releasePred(SUnit *SU, SDep *PredEdge); 376 void releasePredecessors(SUnit *SU); 395 // Map each SU to its summary of pressure changes. This array is updated for 453 PressureDiff &getPressureDiff(const SUnit *SU) { in getPressureDiff() argument 556 find(SUnit *SU) find() argument 558 push(SUnit *SU) push() argument 850 SUnit *SU; global() member [all...] |
H A D | ScheduleDAGInstrs.h | 55 SUnit *SU; member 57 VReg2SUnit(unsigned VReg, LaneBitmask LaneMask, SUnit *SU) in VReg2SUnit() 58 : VirtReg(VReg), LaneMask(LaneMask), SU(SU) {} in VReg2SUnit() 70 unsigned OperandIndex, SUnit *SU) in VReg2SUnitOperIdx() 71 : VReg2SUnit(VReg, LaneMask, SU), OperandIndex(OperandIndex) {} in VReg2SUnitOperIdx() 77 SUnit *SU; member 81 PhysRegSUOper(SUnit *su, int op, unsigned R): SU(su), OpIdx(op), Reg(R) {} in PhysRegSUOper() 180 /// No other SU ever gets scheduled around it (except in the special 198 /// every Nth memory SU int 210 addChainDependencies(SUnit *SU, SUList &SUs, unsigned Latency) addChainDependencies() argument [all...] |
H A D | ResourcePriorityQueue.h | 83 void addNode(const SUnit *SU) override { 87 void updateNode(const SUnit *SU) override {} 103 /// Single cost function reflecting benefit of scheduling SU 105 int SUSchedulingCost (SUnit *SU); 109 void initNumRegDefsLeft(SUnit *SU); 110 void updateNumRegDefsLeft(SUnit *SU); 111 int regPressureDelta(SUnit *SU, bool RawPressure = false); 112 int rawRegPressureDelta (SUnit *SU, unsigned RCId); 120 void remove(SUnit *SU) override; 123 void scheduledNode(SUnit *SU) overrid [all...] |
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/PowerPC/ |
H A D | PPCHazardRecognizers.cpp | 24 bool PPCDispatchGroupSBHazardRecognizer::isLoadAfterStore(SUnit *SU) { in isLoadAfterStore() argument 26 if (isBCTRAfterSet(SU)) in isLoadAfterStore() 29 const MCInstrDesc *MCID = DAG->getInstrDesc(SU); in isLoadAfterStore() 36 // SU is a load; for any predecessors in this dispatch group, that are stores, in isLoadAfterStore() 38 for (unsigned i = 0, ie = (unsigned) SU->Preds.size(); i != ie; ++i) { in isLoadAfterStore() 39 const MCInstrDesc *PredMCID = DAG->getInstrDesc(SU->Preds[i].getSUnit()); in isLoadAfterStore() 43 if (!SU->Preds[i].isNormalMemory() && !SU->Preds[i].isBarrier()) in isLoadAfterStore() 47 if (SU->Preds[i].getSUnit() == CurGroup[j]) in isLoadAfterStore() 54 bool PPCDispatchGroupSBHazardRecognizer::isBCTRAfterSet(SUnit *SU) { in isBCTRAfterSet() argument 139 getHazardType(SUnit *SU, int Stalls) getHazardType() argument 146 ShouldPreferAnother(SUnit *SU) ShouldPreferAnother() argument 155 PreEmitNoops(SUnit *SU) PreEmitNoops() argument 174 EmitInstruction(SUnit *SU) EmitInstruction() argument 325 getHazardType(SUnit *SU, int Stalls) getHazardType() argument 385 EmitInstruction(SUnit *SU) EmitInstruction() argument [all...] |