Home
last modified time | relevance | path

Searched refs:SU (Results 1 - 25 of 59) sorted by relevance

123

/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/Hexagon/
H A DHexagonMachineScheduler.cpp92 /// 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 DHexagonMachineScheduler.h81 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 DHexagonHazardRecognizer.cpp39 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 DResourcePriorityQueue.cpp67 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 DScheduleDAGRRList.cpp211 /// 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 DScheduleDAGVLIW.cpp85 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 DScheduleDAGSDNodes.cpp78 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 DScheduleDAGFast.cpp86 /// 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 DGCNMinRegStrategy.cpp31 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 DGCNILPSched.cpp24 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 DSIMachineScheduler.cpp197 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 DR600MachineScheduler.cpp58 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 DGCNSchedStrategy.cpp62 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 DSystemZHazardRecognizer.cpp46 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 DSystemZMachineScheduler.cpp29 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 DSystemZHazardRecognizer.h72 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 DScheduleDAGInstrs.cpp102 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 DMachineScheduler.cpp601 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 DLatencyPriorityQueue.cpp55 /// 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 DScheduleDAG.cpp222 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 DMacroFusion.cpp39 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 DMachineScheduler.h247 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 DScheduleDAGInstrs.h55 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 DResourcePriorityQueue.h83 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 DPPCHazardRecognizers.cpp24 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...]

Completed in 18 milliseconds

123