HomeSort by relevance Sort by last modified time
    Searched refs:SU (Results 1 - 25 of 46) sorted by null

1 2

  /external/llvm/lib/Target/Hexagon/
HexagonMachineScheduler.cpp 28 for (unsigned su = 0, e = SUnits.size(); su != e; ++su) {
30 if (SUnits[su].getInstr()->isCall())
31 LastSequentialCall = &(SUnits[su]);
33 else if (SUnits[su].getInstr()->isCompare() && LastSequentialCall)
34 SUnits[su].addPred(SDep(LastSequentialCall, SDep::Barrier));
38 /// Check if scheduling of this SU is possible
43 bool VLIWResourceModel::isResourceAvailable(SUnit *SU) {
44 if (!SU || !SU->getInstr()
    [all...]
HexagonMachineScheduler.h 87 bool isResourceAvailable(SUnit *SU);
88 bool reserveResources(SUnit *SU);
115 SUnit *SU;
123 SchedCandidate(): SU(nullptr), SCost(0) {}
176 bool checkHazard(SUnit *SU);
178 void releaseNode(SUnit *SU, unsigned ReadyCycle);
182 void bumpNode(SUnit *SU);
186 void removeReady(SUnit *SU);
214 virtual void schedNode(SUnit *SU, bool IsTopNode) override;
216 virtual void releaseTopNode(SUnit *SU) override
    [all...]
  /external/llvm/include/llvm/CodeGen/
ResourcePriorityQueue.h 88 void addNode(const SUnit *SU) override {
92 void updateNode(const SUnit *SU) override {}
108 /// Single cost function reflecting benefit of scheduling SU
110 signed SUSchedulingCost (SUnit *SU);
114 void initNumRegDefsLeft(SUnit *SU);
115 void updateNumRegDefsLeft(SUnit *SU);
116 signed regPressureDelta(SUnit *SU, bool RawPressure = false);
117 signed rawRegPressureDelta (SUnit *SU, unsigned RCId);
125 void remove(SUnit *SU) override;
131 bool isResourceAvailable(SUnit *SU);
    [all...]
ScheduleDAGInstrs.h 36 SUnit *SU;
38 VReg2SUnit(unsigned reg, SUnit *su): VirtReg(reg), SU(su) {}
48 SUnit *SU;
52 PhysRegSUOper(SUnit *su, int op, unsigned R): SU(su), OpIdx(op), Reg(R) {}
174 const MCSchedClassDesc *getSchedClass(SUnit *SU) const {
175 if (!SU->SchedClass && SchedModel.hasInstrSchedModel()
    [all...]
LatencyPriorityQueue.h 57 void addNode(const SUnit *SU) override {
61 void updateNode(const SUnit *SU) override {
84 void remove(SUnit *SU) override;
95 void AdjustPriorityOfUnscheduledPreds(SUnit *SU);
96 SUnit *getSingleUnscheduledPred(SUnit *SU);
MachineScheduler.h 200 virtual void schedNode(SUnit *SU, bool IsTopNode) = 0;
204 virtual void releaseTopNode(SUnit *SU) = 0;
207 virtual void releaseBottomNode(SUnit *SU) = 0;
281 /// \brief Add a DAG edge to the given SU with the given predecessor
325 void updateQueues(SUnit *SU, bool IsTopNode);
339 void releaseSucc(SUnit *SU, SDep *SuccEdge);
340 void releaseSuccessors(SUnit *SU);
341 void releasePred(SUnit *SU, SDep *PredEdge);
342 void releasePredecessors(SUnit *SU);
358 // Map each SU to its summary of pressure changes. This array is updated fo
    [all...]
ScheduleDFS.h 146 unsigned getNumInstrs(const SUnit *SU) const {
147 return DFSNodeData[SU->NodeNum].InstrCount;
159 ILPValue getILP(const SUnit *SU) const {
160 return ILPValue(DFSNodeData[SU->NodeNum].InstrCount, 1 + SU->getDepth());
170 unsigned getSubtreeID(const SUnit *SU) const {
173 assert(SU->NodeNum < DFSNodeData.size() && "New Node");
174 return DFSNodeData[SU->NodeNum].SubtreeID;
ScoreboardHazardRecognizer.h 115 // Stalls provides an cycle offset at which SU will be scheduled. It will be
117 HazardType getHazardType(SUnit *SU, int Stalls) override;
119 void EmitInstruction(SUnit *SU) override;
  /external/llvm/lib/CodeGen/SelectionDAG/
ResourcePriorityQueue.cpp 72 ResourcePriorityQueue::numberRCValPredInSU(SUnit *SU, unsigned RCId) {
74 for (SUnit::pred_iterator I = SU->Preds.begin(), E = SU->Preds.end();
109 unsigned ResourcePriorityQueue::numberRCValSuccInSU(SUnit *SU,
112 for (SUnit::const_succ_iterator I = SU->Succs.begin(), E = SU->Succs.end();
147 static unsigned numberCtrlDepsInSU(SUnit *SU) {
149 for (SUnit::const_succ_iterator I = SU->Succs.begin(), E = SU->Succs.end();
157 static unsigned numberCtrlPredInSU(SUnit *SU) {
650 SUnit *su = q.pop(); local
    [all...]
ScheduleDAGVLIW.cpp 88 void releaseSucc(SUnit *SU, const SDep &D);
89 void releaseSuccessors(SUnit *SU);
90 void scheduleNodeTopDown(SUnit *SU, unsigned CurCycle);
117 void ScheduleDAGVLIW::releaseSucc(SUnit *SU, const SDep &D) {
132 SuccSU->setDepthToAtLeast(SU->getDepth() + D.getLatency());
141 void ScheduleDAGVLIW::releaseSuccessors(SUnit *SU) {
143 for (SUnit::succ_iterator I = SU->Succs.begin(), E = SU->Succs.end();
148 releaseSucc(SU, *I);
155 void ScheduleDAGVLIW::scheduleNodeTopDown(SUnit *SU, unsigned CurCycle)
    [all...]
ScheduleDAGRRList.cpp 186 /// IsReachable - Checks if SU is reachable from TargetSU.
187 bool IsReachable(const SUnit *SU, const SUnit *TargetSU) {
188 return Topo.IsReachable(SU, TargetSU);
191 /// WillCreateCycle - Returns true if adding an edge from SU to TargetSU will
193 bool WillCreateCycle(SUnit *SU, SUnit *TargetSU) {
194 return Topo.WillCreateCycle(SU, TargetSU);
197 /// AddPred - adds a predecessor edge to SUnit SU.
200 void AddPred(SUnit *SU, const SDep &D) {
201 Topo.AddPred(SU, D.getSUnit());
202 SU->addPred(D)
    [all...]
ScheduleDAGSDNodes.cpp 79 SUnit *SU = &SUnits.back();
84 SU->SchedulingPref = Sched::None;
86 SU->SchedulingPref = TLI.getSchedulingPreference(N);
87 return SU;
91 SUnit *SU = newSUnit(Old->getNode());
92 SU->OrigNode = Old->OrigNode;
93 SU->Latency = Old->Latency;
94 SU->isVRegCycle = Old->isVRegCycle;
95 SU->isCall = Old->isCall;
96 SU->isCallOp = Old->isCallOp
    [all...]
ScheduleDAGSDNodes.h 92 void InitVRegCycleFlag(SUnit *SU);
96 void InitNumRegDefsLeft(SUnit *SU);
100 virtual void computeLatency(SUnit *SU);
120 void dumpNode(const SUnit *SU) const override;
124 std::string getGraphNodeLabel(const SUnit *SU) const override;
140 RegDefIter(const SUnit *SU, const ScheduleDAGSDNodes *SD);
180 void EmitPhysRegCopy(SUnit *SU, DenseMap<SUnit*, unsigned> &VRBaseMap,
ScheduleDAGFast.cpp 86 /// AddPred - adds a predecessor edge to SUnit SU.
88 void AddPred(SUnit *SU, const SDep &D) {
89 SU->addPred(D);
92 /// RemovePred - removes a predecessor edge from SUnit SU.
94 void RemovePred(SUnit *SU, const SDep &D) {
95 SU->removePred(D);
99 void ReleasePred(SUnit *SU, SDep *PredEdge);
100 void ReleasePredecessors(SUnit *SU, unsigned CurCycle);
127 DEBUG(for (unsigned su = 0, e = SUnits.size(); su != e; ++su
    [all...]
  /external/llvm/lib/Target/PowerPC/
PPCHazardRecognizers.h 31 bool isLoadAfterStore(SUnit *SU);
32 bool isBCTRAfterSet(SUnit *SU);
40 HazardType getHazardType(SUnit *SU, int Stalls) override;
41 bool ShouldPreferAnother(SUnit* SU) override;
42 unsigned PreEmitNoops(SUnit *SU) override;
43 void EmitInstruction(SUnit *SU) override;
79 virtual HazardType getHazardType(SUnit *SU, int Stalls) override;
80 virtual void EmitInstruction(SUnit *SU) override;
PPCHazardRecognizers.cpp 26 bool PPCDispatchGroupSBHazardRecognizer::isLoadAfterStore(SUnit *SU) {
28 if (isBCTRAfterSet(SU))
31 const MCInstrDesc *MCID = DAG->getInstrDesc(SU);
38 // SU is a load; for any predecessors in this dispatch group, that are stores,
40 for (unsigned i = 0, ie = (unsigned) SU->Preds.size(); i != ie; ++i) {
41 const MCInstrDesc *PredMCID = DAG->getInstrDesc(SU->Preds[i].getSUnit());
45 if (!SU->Preds[i].isNormalMemory() && !SU->Preds[i].isBarrier())
49 if (SU->Preds[i].getSUnit() == CurGroup[j])
56 bool PPCDispatchGroupSBHazardRecognizer::isBCTRAfterSet(SUnit *SU) {
    [all...]
  /external/llvm/lib/CodeGen/
LatencyPriorityQueue.cpp 55 /// of SU, return it, otherwise return null.
56 SUnit *LatencyPriorityQueue::getSingleUnscheduledPred(SUnit *SU) {
58 for (SUnit::const_pred_iterator I = SU->Preds.begin(), E = SU->Preds.end();
73 void LatencyPriorityQueue::push(SUnit *SU) {
77 for (SUnit::const_succ_iterator I = SU->Succs.begin(), E = SU->Succs.end();
79 if (getSingleUnscheduledPred(I->getSUnit()) == SU)
82 NumNodesSolelyBlocking[SU->NodeNum] = NumNodesBlocking;
84 Queue.push_back(SU);
148 SUnit *su = q.pop(); local
    [all...]
ScheduleDAGInstrs.cpp 207 /// the exit SU to the register defs and use list. This is because we want to
250 /// MO is an operand of SU's instruction that defines a physical register. Add
251 /// data dependencies from SU to any uses of the physical register.
252 void ScheduleDAGInstrs::addPhysRegDataDeps(SUnit *SU, unsigned OperIdx) {
253 const MachineOperand &MO = SU->getInstr()->getOperand(OperIdx);
264 SUnit *UseSU = I->SU;
265 if (UseSU == SU)
274 Dep = SDep(SU, SDep::Artificial);
278 SU->hasPhysRegDefs = true;
279 Dep = SDep(SU, SDep::Data, *Alias)
    [all...]
MachineScheduler.cpp 520 void ScheduleDAGMI::releaseSucc(SUnit *SU, SDep *SuccEdge) {
537 // SU->TopReadyCycle was set to CurrCycle when it was scheduled. However,
539 if (SuccSU->TopReadyCycle < SU->TopReadyCycle + SuccEdge->getLatency())
540 SuccSU->TopReadyCycle = SU->TopReadyCycle + SuccEdge->getLatency();
547 /// releaseSuccessors - Call releaseSucc on each of SU's successors.
548 void ScheduleDAGMI::releaseSuccessors(SUnit *SU) {
549 for (SUnit::succ_iterator I = SU->Succs.begin(), E = SU->Succs.end();
551 releaseSucc(SU, &*I);
559 void ScheduleDAGMI::releasePred(SUnit *SU, SDep *PredEdge)
    [all...]
ScheduleDAG.cpp 184 SUnit *SU = WorkList.pop_back_val();
185 SU->isDepthCurrent = false;
186 for (SUnit::const_succ_iterator I = SU->Succs.begin(),
187 E = SU->Succs.end(); I != E; ++I) {
200 SUnit *SU = WorkList.pop_back_val();
201 SU->isHeightCurrent = false;
202 for (SUnit::const_pred_iterator I = SU->Preds.begin(),
203 E = SU->Preds.end(); I != E; ++I) {
318 dbgs() << "SU(" << NodeNum << "): ";
347 dbgs() << "SU(" << I->getSUnit()->NodeNum << ")"
    [all...]
ScoreboardHazardRecognizer.cpp 119 ScoreboardHazardRecognizer::getHazardType(SUnit *SU, int Stalls) {
129 const MCInstrDesc *MCID = DAG->getInstrDesc(SU);
166 DEBUG(dbgs() << "SU(" << SU->NodeNum << "): ");
167 DEBUG(DAG->dumpNode(SU));
179 void ScoreboardHazardRecognizer::EmitInstruction(SUnit *SU) {
185 const MCInstrDesc *MCID = DAG->getInstrDesc(SU);
  /external/llvm/lib/Target/R600/
R600MachineScheduler.cpp 60 SUnit *SU = nullptr;
96 if (!SU && ((AllowSwitchToAlu && CurInstKind != IDAlu) ||
99 SU = pickAlu();
100 if (!SU && !PhysicalRegCopy.empty()) {
101 SU = PhysicalRegCopy.front();
104 if (SU) {
111 if (!SU) {
113 SU = pickOther(IDFetch);
114 if (SU)
119 if (!SU) {
    [all...]
R600MachineScheduler.h 78 void schedNode(SUnit *SU, bool IsTopNode) override;
79 void releaseTopNode(SUnit *SU) override;
80 void releaseBottomNode(SUnit *SU) override;
86 int getInstKind(SUnit *SU);
88 AluKind getAluKind(SUnit *SU) const;
  /external/llvm/lib/Target/ARM/
ARMHazardRecognizer.h 40 HazardType getHazardType(SUnit *SU, int Stalls) override;
42 void EmitInstruction(SUnit *SU) override;
ARMHazardRecognizer.cpp 35 ARMHazardRecognizer::getHazardType(SUnit *SU, int Stalls) {
38 MachineInstr *MI = SU->getInstr();
76 return ScoreboardHazardRecognizer::getHazardType(SU, Stalls);
85 void ARMHazardRecognizer::EmitInstruction(SUnit *SU) {
86 MachineInstr *MI = SU->getInstr();
92 ScoreboardHazardRecognizer::EmitInstruction(SU);

Completed in 311 milliseconds

1 2