/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
H A D | LatencyPriorityQueue.h | 33 // 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 D | ResourcePriorityQueue.h | 38 /// 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 D | ScheduleDAGInstrs.h | 185 /// 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 D | 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. 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 D | ScheduleDFS.h | 141 void compute(ArrayRef<SUnit> SUnits);
|
H A D | MachinePipeliner.h | 125 /// 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 D | SIMachineScheduler.cpp | 198 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 D | GCNMinRegStrategy.cpp | 66 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 D | GCNILPSched.cpp | 293 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 D | SIMachineScheduler.h | 65 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 D | ScheduleDAGVLIW.cpp | 53 /// 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 D | ScheduleDAGSDNodes.cpp | 71 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 D | 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 [all...] |
H A D | ResourcePriorityQueue.cpp | 164 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 D | HexagonSubtarget.cpp | 129 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 D | HexagonMachineScheduler.cpp | 211 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 D | AntiDepBreaker.h | 43 virtual unsigned BreakAntiDependencies(const std::vector<SUnit> &SUnits,
|
H A D | CriticalAntiDepBreaker.h | 82 unsigned BreakAntiDependencies(const std::vector<SUnit> &SUnits,
|
H A D | 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 ar [all...] |
H A D | PostRASchedulerList.cpp | 115 /// 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 D | MachinePipeliner.cpp | 664 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 D | AggressiveAntiDepBreaker.h | 142 unsigned BreakAntiDependencies(const std::vector<SUnit> &SUnits,
|
H A D | 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)
|
H A D | CriticalAntiDepBreaker.cpp | 447 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 D | AggressiveAntiDepBreaker.cpp | 754 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
|