HomeSort by: relevance | last modified time | path
    Searched refs:SUnits (Results 1 - 25 of 35) sorted by relevancy

1 2

  /src/external/apache2/llvm/dist/llvm/include/llvm/CodeGen/
LatencyPriorityQueue.h 33 // SUnits - The SUnits for the current graph.
34 std::vector<SUnit> *SUnits;
52 void initNodes(std::vector<SUnit> &sunits) override {
53 SUnits = &sunits;
54 NumNodesSolelyBlocking.resize(SUnits->size(), 0);
58 NumNodesSolelyBlocking.resize(SUnits->size(), 0);
65 SUnits = nullptr;
69 assert(NodeNum < (*SUnits).size())
    [all...]
ResourcePriorityQueue.h 38 /// SUnits - The SUnits for the current graph.
39 std::vector<SUnit> *SUnits;
81 void initNodes(std::vector<SUnit> &sunits) override;
84 NumNodesSolelyBlocking.resize(SUnits->size(), 0);
90 SUnits = nullptr;
94 assert(NodeNum < (*SUnits).size());
95 return (*SUnits)[NodeNum].getHeight();
ScheduleDAGInstrs.h 185 /// A list of SUnits, used in Value2SUsMap, during DAG construction.
239 /// Topo - A topological ordering for SUnits which permits fast IsReachable
311 /// Builds SUnits for the current region.
381 const SUnit *Addr = SUnits.empty() ? nullptr : &SUnits[0];
383 SUnits.emplace_back(MI, (unsigned)SUnits.size());
384 assert((Addr == nullptr || Addr == &SUnits[0]) &&
385 "SUnits std::vector reallocated on the fly!");
386 return &SUnits.back()
    [all...]
AntiDepBreaker.h 44 virtual unsigned BreakAntiDependencies(const std::vector<SUnit> &SUnits,
ScheduleDAG.h 100 /// 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.
604 /// Verifies that all SUnits were scheduled and that their state is
605 /// consistent. Returns the number of scheduled SUnits.
683 return nodes_iterator(G->SUnits.begin());
686 return nodes_iterator(G->SUnits.end());
690 /// This class can compute a topological ordering for SUnits and provides
695 /// A reference to the ScheduleDAG's SUnits
    [all...]
ScheduleDFS.h 141 void compute(ArrayRef<SUnit> SUnits);
MachinePipeliner.h 119 /// A toplogical ordering of the SUnits, which is needed for changing
120 /// dependences and iterating over the SUnits.
155 std::vector<SUnit> &SUnits;
167 : SUnits(SUs), Blocked(SUs.size()), B(SUs.size()), AdjK(SUs.size()) {
180 B.assign(SUnits.size(), SmallPtrSet<SUnit *, 4>());
197 RegClassInfo(rci), II_setByPragma(II), Topo(SUnits, &ExitSU) {
  /src/external/apache2/llvm/dist/llvm/lib/Target/AMDGPU/
SIMachineScheduler.cpp 179 NodeNum2Index[SU->NodeNum] = SUnits.size();
180 SUnits.push_back(SU);
274 for (SUnit* SU : SUnits) {
392 for (SUnit* SU : SUnits) {
410 assert(SUnits.size() == ScheduledSUnits.size() &&
412 for (SUnit* SU : SUnits) {
422 for (SUnit* SU : SUnits) {
429 HasLowLatencyNonWaitedParent.assign(SUnits.size(), 0);
468 if (SuccSU->NodeNum >= DAG->SUnits.size())
494 HasLowLatencyNonWaitedParent.assign(SUnits.size(), 0)
    [all...]
GCNMinRegStrategy.cpp 60 void initNumPreds(const decltype(ScheduleDAG::SUnits) &SUnits);
80 void GCNMinRegScheduler::initNumPreds(const decltype(ScheduleDAG::SUnits) &SUnits) {
81 NumPreds.resize(SUnits.size());
82 for (unsigned I = 0; I < SUnits.size(); ++I)
83 NumPreds[I] = SUnits[I].NumPredsLeft;
227 const auto &SUnits = DAG.SUnits;
229 Schedule.reserve(SUnits.size())
    [all...]
GCNILPSched.cpp 292 auto &SUnits = const_cast<ScheduleDAG&>(DAG).SUnits;
295 SUSavedCopy.resize(SUnits.size());
299 for (const SUnit &SU : SUnits)
302 SUNumbers.assign(SUnits.size(), 0);
303 for (const SUnit &SU : SUnits)
313 Schedule.reserve(SUnits.size());
345 assert(SUnits.size() == Schedule.size());
350 for (auto &SU : SUnits)
AMDGPUExportClustering.cpp 118 for (SUnit &SU : DAG->SUnits) {
SIMachineScheduler.h 63 std::vector<SUnit*> SUnits;
136 int getCost() { return SUnits.size(); }
239 // 1 to SUnits.size() -> Reserved group (you should only add elements to them).
  /src/external/apache2/llvm/dist/llvm/lib/CodeGen/SelectionDAG/
ScheduleDAGVLIW.cpp 53 /// AvailableQueue - The priority queue to use for the available SUnits.
100 AvailableQueue->initNodes(SUnits);
172 for (unsigned i = 0, e = SUnits.size(); i != e; ++i) {
174 if (SUnits[i].Preds.empty()) {
175 AvailableQueue->push(&SUnits[i]);
176 SUnits[i].isAvailable = true;
183 Sequence.reserve(SUnits.size());
ScheduleDAGSDNodes.cpp 72 if (!SUnits.empty())
73 Addr = &SUnits[0];
75 SUnits.emplace_back(N, (unsigned)SUnits.size());
76 assert((Addr == nullptr || Addr == &SUnits[0]) &&
77 "SUnits std::vector reallocated on the fly!");
78 SUnits.back().OrigNode = &SUnits.back();
79 SUnit *SU = &SUnits.back();
320 // Cluster loads from "near" addresses into combined SUnits
    [all...]
ScheduleDAGRRList.cpp 143 /// 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.empty())
    [all...]
ResourcePriorityQueue.cpp 167 void ResourcePriorityQueue::initNodes(std::vector<SUnit> &sunits) {
168 SUnits = &sunits;
169 NumNodesSolelyBlocking.resize(SUnits->size(), 0);
171 for (unsigned i = 0, e = SUnits->size(); i != e; ++i) {
172 SUnit *SU = &(*SUnits)[i];
  /src/external/apache2/llvm/dist/llvm/lib/Target/Hexagon/
HexagonSubtarget.cpp 199 for (SUnit &SU : DAG->SUnits) {
212 for (SUnit &SU : DAG->SUnits) {
275 for (unsigned su = 0, e = DAG->SUnits.size(); su != e; ++su) {
277 if (DAG->SUnits[su].getInstr()->isCall())
278 LastSequentialCall = &DAG->SUnits[su];
280 else if (DAG->SUnits[su].getInstr()->isCompare() && LastSequentialCall)
281 DAG->addEdge(&DAG->SUnits[su], SDep(LastSequentialCall, SDep::Barrier));
284 shouldTFRICallBind(HII, DAG->SUnits[su], DAG->SUnits[su+1]))
285 DAG->addEdge(&DAG->SUnits[su], SDep(&DAG->SUnits[su-1], SDep::Barrier))
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/CodeGen/
CriticalAntiDepBreaker.h 82 unsigned BreakAntiDependencies(const std::vector<SUnit> &SUnits,
ScheduleDAG.cpp 65 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 are allowed but ignored (e.g. ExitSU)
    [all...]
PostRASchedulerList.cpp 113 /// AvailableQueue - The priority queue to use for the available SUnits.
395 AntiDepBreak->BreakAntiDependencies(SUnits, RegionBegin, RegionEnd,
417 AvailableQueue.initNodes(SUnits);
534 for (unsigned i = 0, e = SUnits.size(); i != e; ++i) {
536 if (!SUnits[i].NumPredsLeft && !SUnits[i].isAvailable) {
537 AvailableQueue.push(&SUnits[i]);
538 SUnits[i].isAvailable = true;
549 Sequence.reserve(SUnits.size());
MachinePipeliner.cpp 744 for (auto &SU : SUnits) {
841 for (SUnit &I : SUnits) {
924 for (SUnit &I : SUnits) {
1194 static void swapAntiDependences(std::vector<SUnit> &SUnits) {
1196 for (unsigned i = 0, e = SUnits.size(); i != e; ++i) {
1197 SUnit *SU = &SUnits[i];
1222 BitVector Added(SUnits.size());
1224 for (int i = 0, e = SUnits.size(); i != e; ++i) {
1227 for (auto &SI : SUnits[i].Succs) {
1253 for (auto &PI : SUnits[i].Preds)
    [all...]
AggressiveAntiDepBreaker.h 142 unsigned BreakAntiDependencies(const std::vector<SUnit> &SUnits,
MacroFusion.cpp 125 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)
CriticalAntiDepBreaker.cpp 441 BreakAntiDependencies(const std::vector<SUnit> &SUnits,
448 if (SUnits.empty()) return 0;
458 for (unsigned i = 0, e = SUnits.size(); i != e; ++i) {
459 const SUnit *SU = &SUnits[i];
579 // Also, if there are dependencies on other SUnits with the
AggressiveAntiDepBreaker.cpp 746 const std::vector<SUnit> &SUnits,
758 if (SUnits.empty()) return 0;
765 for (unsigned i = 0, e = SUnits.size(); i != e; ++i) {
766 const SUnit *SU = &SUnits[i];
777 for (unsigned i = 0, e = SUnits.size(); i != e; ++i) {
778 const SUnit *SU = &SUnits[i];
883 // Also, if there are dependencies on other SUnits with the

Completed in 38 milliseconds

1 2