Home
last modified time | relevance | path

Searched refs:SU (Results 1 – 25 of 146) sorted by relevance

123456

/netbsd/external/apache2/llvm/dist/llvm/lib/Target/Hexagon/
H A DHexagonMachineScheduler.cpp98 if (!SU || !SU->getInstr()) in isResourceAvailable()
141 if (!SU) { in reserveResources()
301 Top.releaseNode(SU, SU->TopReadyCycle); in releaseTopNode()
320 Bot.releaseNode(SU, SU->BotReadyCycle); in releaseBottomNode()
584 if (!SU || SU->isScheduled) in SchedulingCost()
885 return SU; in pickNodeBidrectional()
890 return SU; in pickNodeBidrectional()
951 SUnit *SU; in pickNode() local
960 SU = TopCand.SU; in pickNode()
971 SU = BotCand.SU; in pickNode()
[all …]
H A DHexagonMachineScheduler.h82 bool reserveResources(SUnit *SU, bool IsTop);
84 bool isInPacket(SUnit *SU) const { return is_contained(Packet, SU); } in isInPacket() argument
115 SUnit *SU = nullptr; member
185 for (auto &SU : DAG->SUnits) in init()
186 MaxPath = std::max(MaxPath, isTop() ? SU.getHeight() : SU.getDepth()); in init()
195 bool checkHazard(SUnit *SU);
201 void bumpNode(SUnit *SU);
205 void removeReady(SUnit *SU);
209 bool isLatencyBound(SUnit *SU) { in isLatencyBound()
212 unsigned PathLength = isTop() ? SU->getHeight() : SU->getDepth(); in isLatencyBound()
[all …]
/netbsd/external/apache2/llvm/dist/llvm/lib/CodeGen/SelectionDAG/
H A DResourcePriorityQueue.cpp174 SU->NodeQueueId = 0; in initNodes()
238 Queue.push_back(SU); in push()
244 if (!SU || !SU->getNode()) in isResourceAvailable()
289 if (!isResourceAvailable(SU) || SU->getNode()->getGluedNode()) { in reserveResources()
294 if (SU->getNode() && SU->getNode()->isMachineOpcode()) { in reserveResources()
326 if (!SU || !SU->getNode() || !SU->getNode()->isMachineOpcode()) in rawRegPressureDelta()
360 if (!SU || !SU->getNode() || !SU->getNode()->isMachineOpcode()) in regPressureDelta()
398 if (SU->isScheduled) in SUSchedulingCost()
467 if (!SU) { in scheduledNode()
534 HorizontalVerticalBalance += (SU->Succs.size() - numberCtrlDepsInSU(SU)); in scheduledNode()
[all …]
H A DScheduleDAGRRList.cpp753 EmitNode(SU); in ScheduleNodeBottomUp()
809 if (SU->getNode() && SU->getNode()->isMachineOpcode()) in ScheduleNodeBottomUp()
1009 return SU; in TryUnfoldSU()
1027 return SU; in TryUnfoldSU()
1180 return SU; in CopyAndMoveSuccessors()
1448 if (SU->isAvailable && !SU->NodeQueueId) { in releaseInterferences()
1951 WorkState(const SUnit *SU) : SU(SU) {} in CalcNodeSethiUllmanNumber()
2046 if (SU->NumSuccs == 0 && SU->NumPreds != 0) in getNodePriority()
2053 if (SU->NumPreds == 0 && SU->NumSuccs != 0) in getNodePriority()
2413 if (!hasOnlyLiveInOpers(SU) || !hasOnlyLiveOutUses(SU)) in initVRegCycle()
[all …]
H A DScheduleDAGSDNodes.cpp87 return SU; in newSUnit()
105 return SU; in Clone()
619 SU->Latency = 0; in computeLatency()
625 SU->Latency = 1; in computeLatency()
640 SU->Latency = 0; in computeLatency()
675 dumpNodeName(SU); in dumpNode()
702 dumpNodeAll(SU); in dump()
712 dumpNode(*SU); in dumpSchedule()
917 if (!SU) { in EmitSchedule()
936 auto NewInsn = EmitNode(N, SU->OrigNode != SU, SU->isCloned, VRBaseMap); in EmitSchedule()
[all …]
H A DScheduleDAGFast.cpp89 SU->addPred(D); in AddPred()
95 SU->removePred(D); in RemovePred()
163 ReleasePred(SU, &Pred); in ReleasePredecessors()
187 Sequence.push_back(SU); in ScheduleNodeBottomUp()
205 SU->isScheduled = true; in ScheduleNodeBottomUp()
305 RemovePred(SU, Pred); in CopyAndMoveSuccessors()
318 D.setSUnit(SU); in CopyAndMoveSuccessors()
326 D.setSUnit(SU); in CopyAndMoveSuccessors()
345 SU = NewSU; in CopyAndMoveSuccessors()
349 NewSU = Clone(SU); in CopyAndMoveSuccessors()
[all …]
H A DScheduleDAGVLIW.cpp85 void releaseSucc(SUnit *SU, const SDep &D);
86 void releaseSuccessors(SUnit *SU);
137 void ScheduleDAGVLIW::releaseSuccessors(SUnit *SU) { in releaseSuccessors() argument
139 for (SDep &Succ : SU->Succs) { in releaseSuccessors()
143 releaseSucc(SU, Succ); in releaseSuccessors()
152 LLVM_DEBUG(dumpNode(*SU)); in scheduleNodeTopDown()
154 Sequence.push_back(SU); in scheduleNodeTopDown()
156 SU->setDepthToAtLeast(CurCycle); in scheduleNodeTopDown()
158 releaseSuccessors(SU); in scheduleNodeTopDown()
159 SU->isScheduled = true; in scheduleNodeTopDown()
[all …]
/netbsd/external/apache2/llvm/dist/llvm/lib/Target/AMDGPU/
H A DGCNMinRegStrategy.cpp25 const SUnit *SU; member
51 return NumPreds[SU->NodeNum]; in getNumPreds()
88 for (auto SDep : SU->Succs) { in getReadySuccessors()
104 return SU->Succs.size() - getReadySuccessors(SU); in getNotReadySuccessors()
146 auto SU = C.SU; in pickCandidate() local
157 auto SU = C.SU; in pickCandidate() local
205 if (Set.count(C.SU)) { in bumpPredsPriority()
235 for (auto SU : TopRoots) { in schedule() local
252 auto SU = C->SU; in schedule() local
256 Schedule.push_back(SU); in schedule()
[all …]
H A DGCNILPSched.cpp23 SUnit *SU; member
26 : SU(SU_) {} in Candidate()
88 if (SU->NumSuccs == 0 && SU->NumPreds != 0) in getNodePriority()
96 if (SU->NumPreds == 0 && SU->NumSuccs != 0) in getNodePriority()
245 auto NewBestSU = pickBest(Best->SU, I->SU); in pickCandidate()
300 SUSavedCopy[SU.NodeNum] = SU; in schedule()
319 return C1.SU->getHeight() < C2.SU->getHeight(); in schedule()
320 })->SU; in schedule()
336 auto SU = C->SU; in schedule() local
350 for (auto &SU : SUnits) in schedule() local
[all …]
H A DR600MachineScheduler.cpp96 SU = pickAlu(); in pickNode()
101 if (SU) { in pickNode()
108 if (!SU) { in pickNode()
111 if (SU) in pickNode()
116 if (!SU) { in pickNode()
118 if (SU) in pickNode()
134 return SU; in pickNode()
323 return SU; in PopInst()
427 if (SU) { in pickAlu()
436 if (SU) { in pickAlu()
[all …]
H A DSIMachineScheduler.cpp180 SUnits.push_back(SU); in addUnit()
238 if (TryCand.SU->NodeNum < Cand.SU->NodeNum) { in tryCandidateTopDown()
251 TryCand.SU = SU; in pickNode()
264 return TopCand.SU; in pickNode()
275 if (!SU->NumPredsLeft) in fastSchedule()
282 nodeScheduled(SU); in fastSchedule()
393 if (!SU->NumPredsLeft) in schedule()
402 nodeScheduled(SU); in schedule()
504 SU->isScheduled = true; in nodeScheduled()
596 DAG->dumpNode(*SU); in printDebug()
[all …]
H A DAMDGPUExportClustering.cpp51 for (SUnit *SU : Copy) { in sortChain()
52 if (isPositionExport(TII, SU)) in sortChain()
53 Chain[PosIdx++] = SU; in sortChain()
55 Chain[OtherIdx++] = SU; in sortChain()
89 if (isExport(SU)) in removeExportDependencies()
103 SU.removePred(Pred); in removeExportDependencies()
105 DAG->addEdge(&SU, Pred); in removeExportDependencies()
118 for (SUnit &SU : DAG->SUnits) { in apply()
119 if (!isExport(SU)) in apply()
122 Chain.push_back(&SU); in apply()
[all …]
/netbsd/external/apache2/llvm/dist/llvm/lib/Target/SystemZ/
H A DSystemZHazardRecognizer.cpp66 if (SU != nullptr && !fitsIntoCurrentGroup(SU)) { in getCurrCycleIdx()
202 if (SU->isUnbuffered) in dumpSU()
271 EmitInstruction(SUnit *SU) { in EmitInstruction() argument
288 if (SU->isCall) { in EmitInstruction()
320 if (SU->isUnbuffered) { in EmitInstruction()
372 assert (SU->isUnbuffered); in isFPdOpPreferred_distance()
387 resourcesCost(SUnit *SU) { in resourcesCost() argument
396 if (SU->isUnbuffered) in resourcesCost()
413 SUnit SU(MI, 0); in emitInstruction() local
416 SU.isCall = MI->isCall(); in emitInstruction()
[all …]
H A DSystemZMachineScheduler.cpp29 for (auto &SU : *this) { in dump()
30 HazardRec.dumpSU(SU, dbgs()); in dump()
31 if (SU != *rbegin()) in dump()
198 return Best.SU; in pickNode()
203 SU = SU_; in Candidate()
230 if (SU->getHeight() > other.SU->getHeight()) in operator <()
232 if (SU->getHeight() < other.SU->getHeight()) in operator <()
236 if (SU->NodeNum < other.SU->NodeNum) in operator <()
248 Available.erase(SU); in schedNode()
257 SU->isScheduleHigh = (AffectsGrouping || SU->isUnbuffered); in releaseTopNode()
[all …]
H A DSystemZHazardRecognizer.h72 inline unsigned getNumDecoderSlots(SUnit *SU) const;
75 bool fitsIntoCurrentGroup(SUnit *SU) const;
85 unsigned getCurrCycleIdx(SUnit *SU = nullptr) const;
104 bool isFPdOpPreferred_distance(SUnit *SU) const;
118 void EmitInstruction(SUnit *SU) override;
121 const MCSchedClassDesc *getSchedClass(SUnit *SU) const { in getSchedClass() argument
123 SU->SchedClass = SchedModel->resolveSchedClass(SU->getInstr()); in getSchedClass()
124 return SU->SchedClass; in getSchedClass()
137 int groupingCost(SUnit *SU) const;
142 int resourcesCost(SUnit *SU);
[all …]
/netbsd/external/apache2/llvm/dist/llvm/lib/CodeGen/
H A DScheduleDAGInstrs.cpp249 if (UseSU == SU) in addPhysRegDataDeps()
487 if (DefSU == SU) in addVRegDefDeps()
499 V2SU.SU = SU; in addVRegDefDeps()
534 if (V2SU.SU == SU) in addVRegUseDeps()
537 V2SU.SU->addPred(SDep(SU, SDep::Anti, Reg)); in addVRegUseDeps()
585 SU->Latency = SchedModel.computeInstrLatency(SU->getInstr()); in initSUnits()
1168 dumpNodeName(SU); in dumpNode()
1179 dumpNodeAll(SU); in dump()
1276 R.DFSNodeData[SU->NodeNum].SubtreeID = SU->NodeNum; in visitPostorderNode()
1423 DFSStack.push_back(std::make_pair(SU, SU->Preds.begin())); in follow()
[all …]
H A DMachineScheduler.cpp978 if (UI->SU == &SU) in collectVRegUses()
1132 SUnit &SU = *V2SU.SU; in updatePressureDiffs() local
1164 SUnit *SU = V2SU.SU; in updatePressureDiffs() local
1361 SUnit *SU = V2SU.SU; in computeCyclicCriticalPath() local
3137 Cand.SU = SU; in initCandidate()
3350 assert(TCand.SU == BotCand.SU && in pickNodeBidirectional()
3370 assert(TCand.SU == TopCand.SU && in pickNodeBidirectional()
3409 SU = TopCand.SU; in pickNode()
3420 SU = BotCand.SU; in pickNode()
3588 TryCand.SU = SU; in pickNodeFromQueue()
[all …]
H A DScheduleDAG.cpp355 if (&SU == &EntrySU) in dumpNodeName()
357 else if (&SU == &ExitSU) in dumpNodeName()
364 dumpNode(SU); in dumpNodeAll()
365 SU.dumpAttributes(); in dumpNodeAll()
366 if (SU.Preds.size() > 0) { in dumpNodeAll()
376 if (SU.Succs.size() > 0) { in dumpNodeAll()
480 for (SUnit &SU : SUnits) { in InitDAGTopologicalSorting()
502 if (SU->NodeNum < DAGSize && !--Node2Index[SU->NodeNum]) in InitDAGTopologicalSorting()
575 WorkList.push_back(SU); in DFS()
577 SU = WorkList.back(); in DFS()
[all …]
H A DLatencyPriorityQueue.cpp58 for (const SDep &P : SU->Preds) { in getSingleUnscheduledPred()
72 void LatencyPriorityQueue::push(SUnit *SU) { in push() argument
76 for (SUnit::const_succ_iterator I = SU->Succs.begin(), E = SU->Succs.end(); in push()
78 if (getSingleUnscheduledPred(I->getSUnit()) == SU) in push()
83 Queue.push_back(SU); in push()
91 void LatencyPriorityQueue::scheduledNode(SUnit *SU) { in scheduledNode() argument
92 for (const SDep &Succ : SU->Succs) in scheduledNode()
131 void LatencyPriorityQueue::remove(SUnit *SU) { in remove() argument
133 std::vector<SUnit *>::iterator I = find(Queue, SU); in remove()
144 for (const SUnit *SU : Queue) { in dump() local
[all …]
H A DMacroFusion.cpp39 static SUnit *getPredClusterSU(const SUnit &SU) { in getPredClusterSU() argument
40 for (const SDep &SI : SU.Preds) in getPredClusterSU()
49 const SUnit *CurrentSU = &SU; in hasLessThanNumFused()
101 SUnit *SU = SI.getSUnit(); in fuseInstructionPair() local
103 SU == &DAG.ExitSU || SU == &SecondSU || SU->isPred(&SecondSU)) in fuseInstructionPair()
107 DAG.addEdge(SU, SDep(&SecondSU, SDep::Artificial)); in fuseInstructionPair()
114 SUnit *SU = SI.getSUnit(); in fuseInstructionPair() local
115 if (SI.isWeak() || isHazard(SI) || &FirstSU == SU || FirstSU.isSucc(SU)) in fuseInstructionPair()
119 DAG.addEdge(&FirstSU, SDep(SU, SDep::Artificial)); in fuseInstructionPair()
125 for (SUnit &SU : DAG.SUnits) { in fuseInstructionPair()
[all …]
/netbsd/external/apache2/llvm/dist/llvm/include/llvm/CodeGen/
H A DMachineScheduler.h544 bool isInQueue(SUnit *SU) const { return (SU->NodeQueueId & ID); } in isInQueue() argument
560 iterator find(SUnit *SU) { return llvm::find(Queue, SU); } in find() argument
562 void push(SUnit *SU) { in push() argument
563 Queue.push_back(SU); in push()
723 return isTop() ? SU->getHeight() : SU->getDepth(); in getUnscheduledLatency()
864 SUnit *SU; member
883 SU = nullptr; in reset()
895 SU = Best.SU; in setBest()
981 Top.releaseNode(SU, SU->TopReadyCycle, false); in releaseTopNode()
989 Bot.releaseNode(SU, SU->BotReadyCycle, false); in releaseBottomNode()
[all …]
H A DScheduleDAGInstrs.h55 SUnit *SU; member
58 : VirtReg(VReg), LaneMask(LaneMask), SU(SU) {} in VReg2SUnit()
70 unsigned OperandIndex, SUnit *SU) in VReg2SUnitOperIdx()
77 SUnit *SU; member
212 addChainDependency(SU, Entry, Latency); in addChainDependencies()
267 SU->SchedClass = SchedModel.resolveSchedClass(SU->getInstr()); in getSchedClass()
268 return SU->SchedClass; in getSchedClass()
272 bool IsReachable(SUnit *SU, SUnit *TargetSU) { in IsReachable() argument
273 return Topo.IsReachable(SU, TargetSU); in IsReachable()
340 void dumpNode(const SUnit &SU) const override;
[all …]
H A DResourcePriorityQueue.h83 void addNode(const SUnit *SU) override { in addNode() argument
87 void updateNode(const SUnit *SU) override {} in updateNode() argument
105 int SUSchedulingCost (SUnit *SU);
109 void initNumRegDefsLeft(SUnit *SU);
111 int rawRegPressureDelta (SUnit *SU, unsigned RCId);
119 void remove(SUnit *SU) override;
122 void scheduledNode(SUnit *SU) override;
123 bool isResourceAvailable(SUnit *SU);
124 void reserveResources(SUnit *SU);
127 void adjustPriorityOfUnscheduledPreds(SUnit *SU);
[all …]
/netbsd/external/apache2/llvm/dist/llvm/lib/Target/PowerPC/
H A DPPCHazardRecognizers.cpp26 if (isBCTRAfterSet(SU)) in isLoadAfterStore()
29 const MCInstrDesc *MCID = DAG->getInstrDesc(SU); in isLoadAfterStore()
43 if (!SU->Preds[i].isNormalMemory() && !SU->Preds[i].isBarrier()) in isLoadAfterStore()
69 if (SU->Preds[i].isCtrl()) in isBCTRAfterSet()
140 if (Stalls == 0 && isLoadAfterStore(SU)) in getHazardType()
159 if (isLoadAfterStore(SU) && CurSlots < 6) { in PreEmitNoops()
182 LLVM_DEBUG(DAG->dumpNode(*SU)); in EmitInstruction()
195 CurGroup.push_back(SU); in EmitInstruction()
325 getHazardType(SUnit *SU, int Stalls) { in getHazardType() argument
328 MachineInstr *MI = SU->getInstr(); in getHazardType()
[all …]
H A DPPCMachineScheduler.cpp25 return Cand.SU->getInstr()->getOpcode() == PPC::ADDI || in isADDIInstr()
26 Cand.SU->getInstr()->getOpcode() == PPC::ADDI8; in isADDIInstr()
61 if (tryGreater(biasPhysReg(TryCand.SU, TryCand.AtTop), in tryCandidate()
92 if (tryLess(Zone->getLatencyStallCycles(TryCand.SU), in tryCandidate()
107 if (tryGreater(TryCand.SU == TryCandNextClusterSU, in tryCandidate()
113 if (tryLess(getWeakLeft(TryCand.SU, TryCand.AtTop), in tryCandidate()
142 if ((Zone->isTop() && TryCand.SU->NodeNum < Cand.SU->NodeNum) || in tryCandidate()
143 (!Zone->isTop() && TryCand.SU->NodeNum > Cand.SU->NodeNum)) { in tryCandidate()
186 if (tryLess(Top.getLatencyStallCycles(TryCand.SU), in tryCandidate()
191 if (tryGreater(TryCand.SU == DAG->getNextClusterSucc(), in tryCandidate()
[all …]

123456