Home
last modified time | relevance | path

Searched refs:SDep (Results 1 – 25 of 34) sorted by relevance

12

/external/swiftshader/third_party/LLVM/lib/CodeGen/
DScheduleDAGInstrs.cpp273 SDep::Kind Kind = MO.isUse() ? SDep::Anti : SDep::Output; in BuildSchedGraph()
274 unsigned AOLatency = (Kind == SDep::Anti) ? 0 : 1; in BuildSchedGraph()
280 (Kind != SDep::Output || !MO.isDead() || in BuildSchedGraph()
282 DefSU->addPred(SDep(SU, Kind, AOLatency, /*Reg=*/Reg)); in BuildSchedGraph()
291 (Kind != SDep::Output || !MO.isDead() || in BuildSchedGraph()
293 DefSU->addPred(SDep(SU, Kind, AOLatency, /*Reg=*/ *Alias)); in BuildSchedGraph()
326 const SDep& dep = SDep(SU, SDep::Data, LDataLatency, Reg); in BuildSchedGraph()
328 ComputeOperandLatency(SU, UseSU, const_cast<SDep &>(dep)); in BuildSchedGraph()
329 ST.adjustSchedDependency(SU, UseSU, const_cast<SDep &>(dep)); in BuildSchedGraph()
339 const SDep& dep = SDep(SU, SDep::Data, DataLatency, *Alias); in BuildSchedGraph()
[all …]
DScheduleDAG.cpp88 bool SUnit::addPred(const SDep &D) { in addPred()
90 for (SmallVector<SDep, 4>::const_iterator I = Preds.begin(), E = Preds.end(); in addPred()
95 SDep P = D; in addPred()
99 if (D.getKind() == SDep::Data) { in addPred()
125 void SUnit::removePred(const SDep &D) { in removePred()
127 for (SmallVector<SDep, 4>::iterator I = Preds.begin(), E = Preds.end(); in removePred()
132 SDep P = D; in removePred()
135 for (SmallVector<SDep, 4>::iterator II = N->Succs.begin(), in removePred()
146 if (P.getKind() == SDep::Data) { in removePred()
311 case SDep::Data: dbgs() << "val "; break; in dumpAll()
[all …]
DAggressiveAntiDepBreaker.cpp278 static void AntiDepEdges(const SUnit *SU, std::vector<const SDep*>& Edges) { in AntiDepEdges()
282 if ((P->getKind() == SDep::Anti) || (P->getKind() == SDep::Output)) { in AntiDepEdges()
295 const SDep *Next = 0; in CriticalPathStep()
307 (NextDepth == PredTotalLatency && P->getKind() == SDep::Anti)) { in CriticalPathStep()
794 std::vector<const SDep *> Edges; in BreakAntiDependencies()
813 const SDep *Edge = Edges[i]; in BreakAntiDependencies()
816 if ((Edge->getKind() != SDep::Anti) && in BreakAntiDependencies()
817 (Edge->getKind() != SDep::Output)) continue; in BreakAntiDependencies()
860 (P->getKind() != SDep::Anti || P->getReg() != AntiDepReg) : in BreakAntiDependencies()
861 (P->getKind() == SDep::Data && P->getReg() == AntiDepReg)) { in BreakAntiDependencies()
[all …]
DCriticalAntiDepBreaker.cpp159 static const SDep *CriticalPathStep(const SUnit *SU) { in CriticalPathStep()
160 const SDep *Next = 0; in CriticalPathStep()
171 (NextDepth == PredTotalLatency && P->getKind() == SDep::Anti)) { in CriticalPathStep()
528 if (const SDep *Edge = CriticalPathStep(CriticalPathSU)) { in BreakAntiDependencies()
532 if (Edge->getKind() == SDep::Anti) { in BreakAntiDependencies()
554 (P->getKind() != SDep::Anti || P->getReg() != AntiDepReg) : in BreakAntiDependencies()
555 (P->getKind() == SDep::Data && P->getReg() == AntiDepReg)) { in BreakAntiDependencies()
/external/llvm/include/llvm/CodeGen/
DScheduleDAG.h45 class SDep {
98 SDep() : Dep(nullptr, Data) {} in SDep() function
101 SDep(SUnit *S, Kind kind, unsigned Reg) in SDep() function
119 SDep(SUnit *S, OrderKind kind) in SDep() function
125 bool overlaps(const SDep &Other) const;
127 bool operator==(const SDep &Other) const {
131 bool operator!=(const SDep &Other) const {
241 struct isPodLike<SDep> { static const bool value = true; };
258 SmallVector<SDep, 4> Preds; // All sunit predecessors.
259 SmallVector<SDep, 4> Succs; // All sunit successors.
[all …]
/external/swiftshader/third_party/LLVM/lib/CodeGen/SelectionDAG/
DScheduleDAGFast.cpp82 void AddPred(SUnit *SU, const SDep &D) { in AddPred()
88 void RemovePred(SUnit *SU, const SDep &D) { in RemovePred()
93 void ReleasePred(SUnit *SU, SDep *PredEdge);
134 void ScheduleDAGFast::ReleasePred(SUnit *SU, SDep *PredEdge) { in ReleasePred()
275 SDep ChainPred; in CopyAndMoveSuccessors()
276 SmallVector<SDep, 4> ChainSuccs; in CopyAndMoveSuccessors()
277 SmallVector<SDep, 4> LoadPreds; in CopyAndMoveSuccessors()
278 SmallVector<SDep, 4> NodePreds; in CopyAndMoveSuccessors()
279 SmallVector<SDep, 4> NodeSuccs; in CopyAndMoveSuccessors()
304 const SDep &Pred = LoadPreds[i]; in CopyAndMoveSuccessors()
[all …]
DScheduleDAGRRList.cpp203 void AddPred(SUnit *SU, const SDep &D) { in AddPred()
211 void RemovePred(SUnit *SU, const SDep &D) { in RemovePred()
222 void ReleasePred(SUnit *SU, const SDep *PredEdge);
224 void ReleaseSucc(SUnit *SU, const SDep *SuccEdge);
231 void CapturePred(SDep *PredEdge);
366 void ScheduleDAGRRList::ReleasePred(SUnit *SU, const SDep *PredEdge) { in ReleasePred()
658 void ScheduleDAGRRList::CapturePred(SDep *PredEdge) { in CapturePred()
854 SmallVector<SDep, 4> ChainPreds; in CopyAndMoveSuccessors()
855 SmallVector<SDep, 4> ChainSuccs; in CopyAndMoveSuccessors()
856 SmallVector<SDep, 4> LoadPreds; in CopyAndMoveSuccessors()
[all …]
DScheduleDAGSDNodes.h101 SDep& dep) const { } in ComputeOperandLatency()
104 unsigned OpIdx, SDep& dep) const;
DScheduleDAGSDNodes.cpp448 const SDep &dep = SDep(OpSU, isChain ? SDep::Order : SDep::Data, in AddSchedEdges()
451 ComputeOperandLatency(OpN, N, i, const_cast<SDep &>(dep)); in AddSchedEdges()
452 ST.adjustSchedDependency(OpSU, SU, const_cast<SDep &>(dep)); in AddSchedEdges()
579 unsigned OpIdx, SDep& dep) const{ in ComputeOperandLatency()
584 if (dep.getKind() != SDep::Data) in ComputeOperandLatency()
DScheduleDAGList.cpp81 void ReleaseSucc(SUnit *SU, const SDep &D);
108 void ScheduleDAGList::ReleaseSucc(SUnit *SU, const SDep &D) { in ReleaseSucc()
/external/llvm/lib/CodeGen/SelectionDAG/
DScheduleDAGFast.cpp88 void AddPred(SUnit *SU, const SDep &D) { in AddPred()
94 void RemovePred(SUnit *SU, const SDep &D) { in RemovePred()
99 void ReleasePred(SUnit *SU, SDep *PredEdge);
140 void ScheduleDAGFast::ReleasePred(SUnit *SU, SDep *PredEdge) { in ReleasePred()
280 SDep ChainPred; in CopyAndMoveSuccessors()
281 SmallVector<SDep, 4> ChainSuccs; in CopyAndMoveSuccessors()
282 SmallVector<SDep, 4> LoadPreds; in CopyAndMoveSuccessors()
283 SmallVector<SDep, 4> NodePreds; in CopyAndMoveSuccessors()
284 SmallVector<SDep, 4> NodeSuccs; in CopyAndMoveSuccessors()
309 const SDep &Pred = LoadPreds[i]; in CopyAndMoveSuccessors()
[all …]
DScheduleDAGRRList.cpp199 void AddPred(SUnit *SU, const SDep &D) { in AddPred()
207 void RemovePred(SUnit *SU, const SDep &D) { in RemovePred()
218 void ReleasePred(SUnit *SU, const SDep *PredEdge);
225 void CapturePred(SDep *PredEdge);
365 void ScheduleDAGRRList::ReleasePred(SUnit *SU, const SDep *PredEdge) { in ReleasePred()
791 void ScheduleDAGRRList::CapturePred(SDep *PredEdge) { in CapturePred()
1025 SmallVector<SDep, 4> ChainPreds; in CopyAndMoveSuccessors()
1026 SmallVector<SDep, 4> ChainSuccs; in CopyAndMoveSuccessors()
1027 SmallVector<SDep, 4> LoadPreds; in CopyAndMoveSuccessors()
1028 SmallVector<SDep, 4> NodePreds; in CopyAndMoveSuccessors()
[all …]
DScheduleDAGSDNodes.cpp486 SDep Dep = isChain ? SDep(OpSU, SDep::Barrier) in AddSchedEdges()
487 : SDep(OpSU, SDep::Data, PhysReg); in AddSchedEdges()
626 unsigned OpIdx, SDep& dep) const{ in computeOperandLatency()
631 if (dep.getKind() != SDep::Data) in computeOperandLatency()
DScheduleDAGVLIW.cpp87 void releaseSucc(SUnit *SU, const SDep &D);
116 void ScheduleDAGVLIW::releaseSucc(SUnit *SU, const SDep &D) { in releaseSucc()
/external/llvm/lib/CodeGen/
DScheduleDAG.cpp65 bool SUnit::addPred(const SDep &D, bool Required) { in addPred()
67 for (SmallVectorImpl<SDep>::iterator I = Preds.begin(), E = Preds.end(); in addPred()
78 SDep ForwardD = *I; in addPred()
80 for (SmallVectorImpl<SDep>::iterator II = PredSU->Succs.begin(), in addPred()
93 SDep P = D; in addPred()
97 if (D.getKind() == SDep::Data) { in addPred()
133 void SUnit::removePred(const SDep &D) { in removePred()
135 for (SmallVectorImpl<SDep>::iterator I = Preds.begin(), E = Preds.end(); in removePred()
139 SDep P = D; in removePred()
142 SmallVectorImpl<SDep>::iterator Succ = std::find(N->Succs.begin(), in removePred()
[all …]
DScheduleDAGInstrs.cpp303 SDep Dep; in addPhysRegDataDeps()
305 Dep = SDep(SU, SDep::Artificial); in addPhysRegDataDeps()
310 Dep = SDep(SU, SDep::Data, *Alias); in addPhysRegDataDeps()
336 SDep::Kind Kind = MO.isUse() ? SDep::Anti : SDep::Output; in addPhysRegDeps()
346 (Kind != SDep::Output || !MO.isDead() || in addPhysRegDeps()
348 if (Kind == SDep::Anti) in addPhysRegDeps()
349 DefSU->addPred(SDep(SU, Kind, /*Reg=*/*Alias)); in addPhysRegDeps()
351 SDep Dep(SU, Kind, /*Reg=*/*Alias); in addPhysRegDeps()
461 SDep Dep(SU, SDep::Data, Reg); in addVRegDefDeps()
504 SDep Dep(SU, SDep::Output, Reg); in addVRegDefDeps()
[all …]
DAggressiveAntiDepBreaker.cpp252 static void AntiDepEdges(const SUnit *SU, std::vector<const SDep*>& Edges) { in AntiDepEdges()
256 if ((P->getKind() == SDep::Anti) || (P->getKind() == SDep::Output)) { in AntiDepEdges()
266 const SDep *Next = nullptr; in CriticalPathStep()
278 (NextDepth == PredTotalLatency && P->getKind() == SDep::Anti)) { in CriticalPathStep()
815 std::vector<const SDep *> Edges; in BreakAntiDependencies()
834 const SDep *Edge = Edges[i]; in BreakAntiDependencies()
837 if ((Edge->getKind() != SDep::Anti) && in BreakAntiDependencies()
838 (Edge->getKind() != SDep::Output)) continue; in BreakAntiDependencies()
880 (P->getKind() != SDep::Anti || P->getReg() != AntiDepReg) : in BreakAntiDependencies()
881 (P->getKind() == SDep::Data && P->getReg() == AntiDepReg)) { in BreakAntiDependencies()
[all …]
DMachinePipeliner.cpp292 bool isBackedge(SUnit *Source, const SDep &Dep) { in isBackedge()
293 if (Dep.getKind() != SDep::Anti) in isBackedge()
299 static bool isOrder(SUnit *Source, const SDep &Dep) { in isOrder()
300 if (Dep.getKind() != SDep::Order) in isOrder()
306 bool isLoopCarriedOrder(SUnit *Source, const SDep &Dep, bool isSucc = true);
309 unsigned getLatency(SUnit *Source, const SDep &Dep) { in getLatency()
312 if (Dep.getKind() == SDep::Anti) { in getLatency()
324 unsigned getDistance(SUnit *U, SUnit *V, const SDep &Dep) { in getDistance()
327 if (V->getInstr()->isPHI() && Dep.getKind() == SDep::Anti) in getDistance()
599 int earliestCycleInChain(const SDep &Dep);
[all …]
DCriticalAntiDepBreaker.cpp129 static const SDep *CriticalPathStep(const SUnit *SU) { in CriticalPathStep()
130 const SDep *Next = nullptr; in CriticalPathStep()
141 (NextDepth == PredTotalLatency && P->getKind() == SDep::Anti)) { in CriticalPathStep()
540 if (const SDep *Edge = CriticalPathStep(CriticalPathSU)) { in BreakAntiDependencies()
544 if (Edge->getKind() == SDep::Anti) { in BreakAntiDependencies()
566 (P->getKind() != SDep::Anti || P->getReg() != AntiDepReg) : in BreakAntiDependencies()
567 (P->getKind() == SDep::Data && P->getReg() == AntiDepReg)) { in BreakAntiDependencies()
/external/swiftshader/third_party/LLVM/include/llvm/CodeGen/
DScheduleDAG.h44 class SDep {
92 SDep() : Dep(0, Data) {} in SDep() function
95 SDep(SUnit *S, Kind kind, unsigned latency = 1, unsigned Reg = 0,
119 bool operator==(const SDep &Other) const {
136 bool operator!=(const SDep &Other) const {
225 struct isPodLike<SDep> { static const bool value = true; };
237 SmallVector<SDep, 4> Preds; // All sunit predecessors.
238 SmallVector<SDep, 4> Succs; // All sunit successors.
240 typedef SmallVector<SDep, 4>::iterator pred_iterator;
241 typedef SmallVector<SDep, 4>::iterator succ_iterator;
[all …]
/external/llvm/lib/Target/Hexagon/
DHexagonVLIWPacketizer.cpp269 SDep::Kind DepType, unsigned DepReg) { in isCallDependent()
284 if (HII->isIndirectCall(MI) && (DepType == SDep::Data)) { in isCallDependent()
293 static bool isRegDependence(const SDep::Kind DepType) { in isRegDependence()
294 return DepType == SDep::Data || DepType == SDep::Anti || in isRegDependence()
295 DepType == SDep::Output; in isRegDependence()
336 SDep::Kind DepType, MachineBasicBlock::iterator &MII, in promoteToDotCur()
338 assert(DepType == SDep::Data); in promoteToDotCur()
419 SDep::Kind DepType, MachineBasicBlock::iterator &MII, in promoteToDotNew()
421 assert (DepType == SDep::Data); in promoteToDotNew()
814 if (Dep.getSUnit() == PacketSUDep && Dep.getKind() == SDep::Anti && in restrictingDepExistInPacket()
[all …]
DHexagonVLIWPacketizer.h76 bool isCallDependent(const MachineInstr* MI, SDep::Kind DepType,
78 bool promoteToDotCur(MachineInstr* MI, SDep::Kind DepType,
86 bool promoteToDotNew(MachineInstr* MI, SDep::Kind DepType,
/external/swiftshader/third_party/LLVM/include/llvm/Target/
DTargetSubtargetInfo.h22 class SDep; variable
63 SDep& dep) const { } in adjustSchedDependency()
/external/llvm/lib/Target/AMDGPU/
DSIMachineScheduler.cpp423 for (SDep& Succ : SU->Succs) { in undoSchedule()
433 void SIScheduleBlock::undoReleaseSucc(SUnit *SU, SDep *SuccEdge) { in undoReleaseSucc()
443 void SIScheduleBlock::releaseSucc(SUnit *SU, SDep *SuccEdge) { in releaseSucc()
464 for (SDep& Succ : SU->Succs) { in releaseSuccessors()
494 for (SDep& Succ : SU->Succs) { in nodeScheduled()
721 for (SDep& PredDep : SU->Preds) { in colorComputeReservedDependencies()
763 for (SDep& SuccDep : SU->Succs) { in colorComputeReservedDependencies()
836 for (SDep& SuccDep : SU->Succs) { in colorEndsAccordingToDependencies()
903 for (SDep& SuccDep : SU->Succs) { in colorMergeConstantLoadsNextGroup()
924 for (SDep& SuccDep : SU->Succs) { in colorMergeIfPossibleNextGroup()
[all …]
/external/llvm/include/llvm/Target/
DTargetSubtargetInfo.h31 class SDep; variable
160 virtual void adjustSchedDependency(SUnit *def, SUnit *use, SDep &dep) const {} in adjustSchedDependency()

12