• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/llvm/lib/Target/AMDGPU/

Lines Matching defs:SU

24     SUnit *SU;
27 : SU(SU_) {}
41 unsigned getNodePriority(const SUnit *SU) const;
48 void releasePredecessors(const SUnit* SU);
59 CalcNodeSethiUllmanNumber(const SUnit *SU, std::vector<unsigned> &SUNumbers) {
60 unsigned &SethiUllmanNumber = SUNumbers[SU->NodeNum];
65 for (const SDep &Pred : SU->Preds) {
87 unsigned GCNILPScheduler::getNodePriority(const SUnit *SU) const {
88 assert(SU->NodeNum < SUNumbers.size());
89 if (SU->NumSuccs == 0 && SU->NumPreds != 0)
90 // If SU does not have a register use, i.e. it doesn't produce a value
97 if (SU->NumPreds == 0 && SU->NumSuccs != 0)
98 // If SU does not have a register def, schedule it close to its uses
102 return SUNumbers[SU->NodeNum];
107 static unsigned closestSucc(const SUnit *SU) {
109 for (const SDep &Succ : SU->Succs) {
122 static unsigned calcMaxScratches(const SUnit *SU) {
124 for (const SDep &Pred : SU->Preds) {
152 LLVM_DEBUG(dbgs() << " Comparing latency of SU (" << left->NodeNum
153 << ") depth " << LDepth << " vs SU (" << right->NodeNum
172 LLVM_DEBUG(dbgs() << "Depth of SU(" << left->NodeNum << "): "
173 << left->getDepth() << " != SU(" << right->NodeNum
246 auto NewBestSU = pickBest(Best->SU, I->SU);
247 if (NewBestSU != Best->SU) {
248 assert(NewBestSU == I->SU);
260 if (C.SU->getHeight() <= CurCycle) {
263 C.SU->NodeQueueId = CurQueueId++;
276 void GCNILPScheduler::releasePredecessors(const SUnit* SU) {
277 for (const auto &PredEdge : SU->Preds) {
283 PredSU->setHeightToAtLeast(SU->getHeight() + PredEdge.getLatency());
300 for (const SUnit &SU : SUnits)
301 SUSavedCopy[SU.NodeNum] = SU;
304 for (const SUnit &SU : SUnits)
305 CalcNodeSethiUllmanNumber(&SU, SUNumbers);
307 for (auto SU : BotRoots) {
309 *new (Alloc.Allocate()) Candidate(const_cast<SUnit*>(SU)));
320 return C1.SU->getHeight() < C2.SU->getHeight();
321 })->SU;
331 << ' ' << C.SU->NodeNum;
337 auto SU = C->SU;
338 LLVM_DEBUG(dbgs() << "Selected "; DAG.dumpNode(*SU));
340 advanceToCycle(SU->getHeight());
342 releasePredecessors(SU);
343 Schedule.push_back(SU);
344 SU->isScheduled = true;
351 for (auto &SU : SUnits)
352 SU = SUSavedCopy[SU.NodeNum];