Searched refs:SUnits (Results 1 - 25 of 34) sorted by relevance

12

/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DLatencyPriorityQueue.h33 // SUnits - The SUnits for the current graph.
34 std::vector<SUnit> *SUnits; member in class:llvm::LatencyPriorityQueue
53 SUnits = &sunits;
54 NumNodesSolelyBlocking.resize(SUnits->size(), 0);
58 NumNodesSolelyBlocking.resize(SUnits->size(), 0);
65 SUnits = nullptr;
69 assert(NodeNum < (*SUnits).size());
70 return (*SUnits)[NodeNum].getHeight();
H A DResourcePriorityQueue.h38 /// SUnits - The SUnits for the current graph.
39 std::vector<SUnit> *SUnits; member in class:llvm::ResourcePriorityQueue
84 NumNodesSolelyBlocking.resize(SUnits->size(), 0);
90 SUnits = nullptr;
94 assert(NodeNum < (*SUnits).size());
95 return (*SUnits)[NodeNum].getHeight();
H A DScheduleDAGInstrs.h185 /// A list of SUnits, used in Value2SUsMap, during DAG construction.
239 /// Topo - A topological ordering for SUnits which permits fast IsReachable
306 /// Builds SUnits for the current region.
386 const SUnit *Addr = SUnits.empty() ? nullptr : &SUnits[0];
388 SUnits.emplace_back(MI, (unsigned)SUnits.size());
389 assert((Addr == nullptr || Addr == &SUnits[0]) &&
390 "SUnits std::vector reallocated on the fly!");
391 return &SUnits
[all...]
H A DScheduleDAG.h100 /// require default constructors. SUnits may not/ have null SDep edges.
184 /// "must alias", meaning that the SUnits at either end of the edge have a
509 virtual void initNodes(std::vector<SUnit> &SUnits) = 0;
562 std::vector<SUnit> SUnits; ///< The scheduling units. member in class:llvm::SUnit::ScheduleDAG
604 /// Verifies that all SUnits were scheduled and that their state is
605 /// consistent. Returns the number of scheduled SUnits.
678 return nodes_iterator(G->SUnits.begin());
681 return nodes_iterator(G->SUnits.end());
685 /// This class can compute a topological ordering for SUnits and provides
690 /// A reference to the ScheduleDAG's SUnits
691 std::vector<SUnit> &SUnits; member in class:llvm::SUnit::ScheduleDAGTopologicalSort
[all...]
H A DScheduleDFS.h141 void compute(ArrayRef<SUnit> SUnits);
H A DMachinePipeliner.h125 /// A toplogical ordering of the SUnits, which is needed for changing
126 /// dependences and iterating over the SUnits.
161 std::vector<SUnit> &SUnits; member in class:llvm::SwingSchedulerDAG::Circuits
173 : SUnits(SUs), Blocked(SUs.size()), B(SUs.size()), AdjK(SUs.size()) {
186 B.assign(SUnits.size(), SmallPtrSet<SUnit *, 4>());
203 RegClassInfo(rci), II_setByPragma(II), Topo(SUnits, &ExitSU) {
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DSIMachineScheduler.cpp198 NodeNum2Index[SU->NodeNum] = SUnits.size();
199 SUnits.push_back(SU);
293 for (SUnit* SU : SUnits) {
411 for (SUnit* SU : SUnits) {
429 assert(SUnits.size() == ScheduledSUnits.size() &&
431 for (SUnit* SU : SUnits) {
441 for (SUnit* SU : SUnits) {
448 HasLowLatencyNonWaitedParent.assign(SUnits.size(), 0);
487 if (SuccSU->NodeNum >= DAG->SUnits.size())
513 HasLowLatencyNonWaitedParent.assign(SUnits
[all...]
H A DGCNMinRegStrategy.cpp66 void initNumPreds(const decltype(ScheduleDAG::SUnits) &SUnits); member in class:__anon2476::GCNMinRegScheduler
86 void GCNMinRegScheduler::initNumPreds(const decltype(ScheduleDAG::SUnits) &SUnits) {
87 NumPreds.resize(SUnits.size());
88 for (unsigned I = 0; I < SUnits.size(); ++I)
89 NumPreds[I] = SUnits[I].NumPredsLeft;
234 const auto &SUnits = DAG.SUnits; local
236 Schedule.reserve(SUnits
[all...]
H A DGCNILPSched.cpp293 auto &SUnits = const_cast<ScheduleDAG&>(DAG).SUnits; local
296 SUSavedCopy.resize(SUnits.size());
300 for (const SUnit &SU : SUnits)
303 SUNumbers.assign(SUnits.size(), 0);
304 for (const SUnit &SU : SUnits)
314 Schedule.reserve(SUnits.size());
346 assert(SUnits.size() == Schedule.size());
351 for (auto &SU : SUnits)
H A DSIMachineScheduler.h65 std::vector<SUnit*> SUnits; member in class:llvm::SIScheduleBlock
138 int getCost() { return SUnits.size(); }
241 // 1 to SUnits.size() -> Reserved group (you should only add elements to them).
/freebsd-11-stable/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/
H A DScheduleDAGVLIW.cpp53 /// AvailableQueue - The priority queue to use for the available SUnits.
100 AvailableQueue->initNodes(SUnits);
173 for (unsigned i = 0, e = SUnits.size(); i != e; ++i) {
175 if (SUnits[i].Preds.empty()) {
176 AvailableQueue->push(&SUnits[i]);
177 SUnits[i].isAvailable = true;
184 Sequence.reserve(SUnits.size());
H A DScheduleDAGSDNodes.cpp71 if (!SUnits.empty())
72 Addr = &SUnits[0];
74 SUnits.emplace_back(N, (unsigned)SUnits.size());
75 assert((Addr == nullptr || Addr == &SUnits[0]) &&
76 "SUnits std::vector reallocated on the fly!");
77 SUnits.back().OrigNode = &SUnits.back();
78 SUnit *SU = &SUnits.back();
317 // Cluster loads from "near" addresses into combined SUnits
[all...]
H A DScheduleDAGRRList.cpp143 /// AvailableQueue - The priority queue to use for the available SUnits.
180 /// Topo - A topological ordering for SUnits which permits fast IsReachable
194 Topo(SUnits, nullptr) {
278 unsigned NumSUnits = SUnits.size();
288 unsigned NumSUnits = SUnits.size();
376 AvailableQueue->initNodes(SUnits);
587 SUnit *Def = &SUnits[N->getNodeId()];
1005 LoadSU = &SUnits[LoadNode->getNodeId()];
1023 NewSU = &SUnits[N->getNodeId()];
1602 if (!SUnits
[all...]
H A DResourcePriorityQueue.cpp164 SUnits = &sunits;
165 NumNodesSolelyBlocking.resize(SUnits->size(), 0);
167 for (unsigned i = 0, e = SUnits->size(); i != e; ++i) {
168 SUnit *SU = &(*SUnits)[i];
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonSubtarget.cpp129 for (SUnit &SU : DAG->SUnits) {
142 for (SUnit &SU : DAG->SUnits) {
205 for (unsigned su = 0, e = DAG->SUnits.size(); su != e; ++su) {
207 if (DAG->SUnits[su].getInstr()->isCall())
208 LastSequentialCall = &DAG->SUnits[su];
210 else if (DAG->SUnits[su].getInstr()->isCompare() && LastSequentialCall)
211 DAG->addEdge(&DAG->SUnits[su], SDep(LastSequentialCall, SDep::Barrier));
214 shouldTFRICallBind(HII, DAG->SUnits[su], DAG->SUnits[su+1]))
215 DAG->addEdge(&DAG->SUnits[s
[all...]
H A DHexagonMachineScheduler.cpp211 for (unsigned su = 0, e = SUnits.size(); su != e;
212 ++su) if (SUnits[su].getHeight() > maxH) maxH =
213 SUnits[su].getHeight();
216 for (unsigned su = 0, e = SUnits.size(); su != e;
217 ++su) if (SUnits[su].getDepth() > maxD) maxD =
218 SUnits[su].getDepth();
/freebsd-11-stable/contrib/llvm-project/llvm/lib/CodeGen/
H A DAntiDepBreaker.h43 virtual unsigned BreakAntiDependencies(const std::vector<SUnit> &SUnits,
H A DCriticalAntiDepBreaker.h82 unsigned BreakAntiDependencies(const std::vector<SUnit> &SUnits,
H A DScheduleDAG.cpp65 SUnits.clear();
393 for (const SUnit &SUnit : SUnits) {
434 return SUnits.size() - DeadNodes;
470 unsigned DAGSize = SUnits.size();
480 for (SUnit &SU : SUnits) {
514 for (SUnit &SU : SUnits) {
573 WorkList.reserve(SUnits.size());
583 // Edges to non-SUnits are allowed but ignored (e.g. ExitSU).
613 WorkList.reserve(SUnits.size());
625 // Edges to non-SUnits ar
[all...]
H A DPostRASchedulerList.cpp115 /// AvailableQueue - The priority queue to use for the available SUnits.
397 AntiDepBreak->BreakAntiDependencies(SUnits, RegionBegin, RegionEnd,
419 AvailableQueue.initNodes(SUnits);
536 for (unsigned i = 0, e = SUnits.size(); i != e; ++i) {
538 if (!SUnits[i].NumPredsLeft && !SUnits[i].isAvailable) {
539 AvailableQueue.push(&SUnits[i]);
540 SUnits[i].isAvailable = true;
551 Sequence.reserve(SUnits.size());
H A DMachinePipeliner.cpp664 for (auto &SU : SUnits) {
760 for (SUnit &I : SUnits) {
843 for (SUnit &I : SUnits) {
1113 static void swapAntiDependences(std::vector<SUnit> &SUnits) { argument
1115 for (unsigned i = 0, e = SUnits.size(); i != e; ++i) {
1116 SUnit *SU = &SUnits[i];
1143 BitVector Added(SUnits.size());
1145 for (int i = 0, e = SUnits.size(); i != e; ++i) {
1148 for (auto &SI : SUnits[i].Succs) {
1174 for (auto &PI : SUnits[
[all...]
H A DAggressiveAntiDepBreaker.h142 unsigned BreakAntiDependencies(const std::vector<SUnit> &SUnits,
H A DMacroFusion.cpp125 for (SUnit &SU : DAG.SUnits) {
156 // For each of the SUnits in the scheduling block, try to fuse the instr in
158 for (SUnit &ISU : DAG->SUnits)
H A DCriticalAntiDepBreaker.cpp447 BreakAntiDependencies(const std::vector<SUnit> &SUnits, argument
454 if (SUnits.empty()) return 0;
464 for (unsigned i = 0, e = SUnits.size(); i != e; ++i) {
465 const SUnit *SU = &SUnits[i];
585 // Also, if there are dependencies on other SUnits with the
H A DAggressiveAntiDepBreaker.cpp754 const std::vector<SUnit> &SUnits,
766 if (SUnits.empty()) return 0;
773 for (unsigned i = 0, e = SUnits.size(); i != e; ++i) {
774 const SUnit *SU = &SUnits[i];
785 for (unsigned i = 0, e = SUnits.size(); i != e; ++i) {
786 const SUnit *SU = &SUnits[i];
891 // Also, if there are dependencies on other SUnits with the

Completed in 387 milliseconds

12