Home
last modified time | relevance | path

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

12

/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/CodeGen/
DMacroFusion.cpp35 static bool isHazard(const SDep &Dep) { in isHazard()
36 return Dep.getKind() == SDep::Anti || Dep.getKind() == SDep::Output; in isHazard()
40 for (const SDep &SI : SU.Preds) in getPredClusterSU()
58 for (SDep &SI : FirstSU.Succs) in fuseInstructionPair()
62 for (SDep &SI : SecondSU.Preds) in fuseInstructionPair()
71 if (!DAG.addEdge(&SecondSU, SDep(&FirstSU, SDep::Cluster))) in fuseInstructionPair()
83 for (SDep &SI : FirstSU.Succs) in fuseInstructionPair()
87 for (SDep &SI : SecondSU.Preds) in fuseInstructionPair()
100 for (const SDep &SI : FirstSU.Succs) { in fuseInstructionPair()
107 DAG.addEdge(SU, SDep(&SecondSU, SDep::Artificial)); in fuseInstructionPair()
[all …]
DScheduleDAG.cpp75 LLVM_DUMP_METHOD void SDep::dump(const TargetRegisterInfo *TRI) const { in dump()
107 bool SUnit::addPred(const SDep &D, bool Required) { in addPred()
109 for (SDep &PredDep : Preds) { in addPred()
120 SDep ForwardD = PredDep; in addPred()
122 for (SDep &SuccDep : PredSU->Succs) { in addPred()
134 SDep P = D; in addPred()
138 if (D.getKind() == SDep::Data) { in addPred()
175 void SUnit::removePred(const SDep &D) { in removePred()
177 SmallVectorImpl<SDep>::iterator I = llvm::find(Preds, D); in removePred()
181 SDep P = D; in removePred()
[all …]
DScheduleDAGInstrs.cpp254 SDep Dep; in addPhysRegDataDeps()
256 Dep = SDep(SU, SDep::Artificial); in addPhysRegDataDeps()
261 Dep = SDep(SU, SDep::Data, *Alias); in addPhysRegDataDeps()
303 SDep::Kind Kind = MO.isUse() ? SDep::Anti : SDep::Output; in addPhysRegDeps()
312 (Kind != SDep::Output || !MO.isDead() || in addPhysRegDeps()
314 if (Kind == SDep::Anti) in addPhysRegDeps()
315 DefSU->addPred(SDep(SU, Kind, /*Reg=*/*Alias)); in addPhysRegDeps()
317 SDep Dep(SU, Kind, /*Reg=*/*Alias); in addPhysRegDeps()
444 SDep Dep(SU, SDep::Data, Reg); in addVRegDefDeps()
487 SDep Dep(SU, SDep::Output, Reg); in addVRegDefDeps()
[all …]
DMachinePipeliner.cpp613 if (SI.getKind() == SDep::Order) { in isSuccOrder()
702 SDep Dep(Load, SDep::Barrier); in addLoopCarriedDependences()
712 SDep Dep(Load, SDep::Barrier); in addLoopCarriedDependences()
720 SDep Dep(Load, SDep::Barrier); in addLoopCarriedDependences()
727 SDep Dep(Load, SDep::Barrier); in addLoopCarriedDependences()
739 SDep Dep(Load, SDep::Barrier); in addLoopCarriedDependences()
756 SmallVector<SDep, 4> RemoveDeps; in updatePhiDependences()
783 SDep Dep(SU, SDep::Anti, Reg); in updatePhiDependences()
791 I.addPred(SDep(SU, SDep::Barrier)); in updatePhiDependences()
803 SDep Dep(SU, SDep::Data, Reg); in updatePhiDependences()
[all …]
DAggressiveAntiDepBreaker.cpp265 static void AntiDepEdges(const SUnit *SU, std::vector<const SDep *> &Edges) { in AntiDepEdges()
269 if ((P->getKind() == SDep::Anti) || (P->getKind() == SDep::Output)) { in AntiDepEdges()
279 const SDep *Next = nullptr; in CriticalPathStep()
291 (NextDepth == PredTotalLatency && P->getKind() == SDep::Anti)) { in CriticalPathStep()
832 std::vector<const SDep *> Edges; in BreakAntiDependencies()
851 const SDep *Edge = Edges[i]; in BreakAntiDependencies()
854 if ((Edge->getKind() != SDep::Anti) && in BreakAntiDependencies()
855 (Edge->getKind() != SDep::Output)) continue; in BreakAntiDependencies()
897 (P->getKind() != SDep::Anti || P->getReg() != AntiDepReg) : in BreakAntiDependencies()
898 (P->getKind() == SDep::Data && P->getReg() == AntiDepReg)) { in BreakAntiDependencies()
[all …]
DCriticalAntiDepBreaker.cpp145 static const SDep *CriticalPathStep(const SUnit *SU) { in CriticalPathStep()
146 const SDep *Next = nullptr; in CriticalPathStep()
157 (NextDepth == PredTotalLatency && P->getKind() == SDep::Anti)) { in CriticalPathStep()
565 if (const SDep *Edge = CriticalPathStep(CriticalPathSU)) { in BreakAntiDependencies()
569 if (Edge->getKind() == SDep::Anti) { in BreakAntiDependencies()
591 (P->getKind() != SDep::Anti || P->getReg() != AntiDepReg) : in BreakAntiDependencies()
592 (P->getKind() == SDep::Data && P->getReg() == AntiDepReg)) { in BreakAntiDependencies()
DMachineScheduler.cpp620 void ScheduleDAGMI::releaseSucc(SUnit *SU, SDep *SuccEdge) { in releaseSucc()
649 for (SDep &Succ : SU->Succs) in releaseSuccessors()
657 void ScheduleDAGMI::releasePred(SUnit *SU, SDep *PredEdge) { in releasePred()
686 for (SDep &Pred : SU->Preds) in releasePredecessors()
1581 DAG->addEdge(SUb, SDep(SUa, SDep::Cluster))) { in clusterNeighboringMemOps()
1588 for (const SDep &Succ : SUa->Succs) { in clusterNeighboringMemOps()
1593 DAG->addEdge(Succ.getSUnit(), SDep(SUb, SDep::Artificial)); in clusterNeighboringMemOps()
1611 for (const SDep &Pred : SU.Preds) { in apply()
1768 for (const SDep &Succ : LastLocalSU->Succs) { in constrainLocalCopy()
1769 if (Succ.getKind() != SDep::Data || Succ.getReg() != LocalReg) in constrainLocalCopy()
[all …]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/include/llvm/CodeGen/
DScheduleDAG.h49 class SDep {
101 SDep() : Dep(nullptr, Data) {} in SDep() function
104 SDep(SUnit *S, Kind kind, unsigned Reg) in SDep() function
123 SDep(SUnit *S, OrderKind kind) in SDep() function
129 bool overlaps(const SDep &Other) const;
131 bool operator==(const SDep &Other) const {
135 bool operator!=(const SDep &Other) const {
256 SmallVector<SDep, 4> Preds; ///< All sunit predecessors.
257 SmallVector<SDep, 4> Succs; ///< All sunit successors.
259 typedef SmallVectorImpl<SDep>::iterator pred_iterator;
[all …]
DMachinePipeliner.h246 bool isBackedge(SUnit *Source, const SDep &Dep) { in isBackedge()
247 if (Dep.getKind() != SDep::Anti) in isBackedge()
252 bool isLoopCarriedDep(SUnit *Source, const SDep &Dep, bool isSucc = true);
256 unsigned getDistance(SUnit *U, SUnit *V, const SDep &Dep) { in getDistance()
259 if (V->getInstr()->isPHI() && Dep.getKind() == SDep::Anti) in getDistance()
334 for (const SDep &Succ : Nodes[i]->Succs) in NodeSet()
532 int earliestCycleInChain(const SDep &Dep);
536 int latestCycleInChain(const SDep &Dep);
DTargetSubtargetInfo.h42 class SDep; variable
229 virtual void adjustSchedDependency(SUnit *def, SUnit *use, SDep &dep) const {} in adjustSchedDependency()
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/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);
139 void ScheduleDAGFast::ReleasePred(SUnit *SU, SDep *PredEdge) { in ReleasePred()
162 for (SDep &Pred : SU->Preds) { in ReleasePredecessors()
192 for (SDep &Succ : SU->Succs) { in ScheduleNodeBottomUp()
277 SDep ChainPred; in CopyAndMoveSuccessors()
278 SmallVector<SDep, 4> ChainSuccs; in CopyAndMoveSuccessors()
279 SmallVector<SDep, 4> LoadPreds; in CopyAndMoveSuccessors()
280 SmallVector<SDep, 4> NodePreds; in CopyAndMoveSuccessors()
[all …]
DScheduleDAGRRList.cpp225 void AddPredQueued(SUnit *SU, const SDep &D) { in AddPredQueued()
233 void AddPred(SUnit *SU, const SDep &D) { in AddPred()
241 void RemovePred(SUnit *SU, const SDep &D) { in RemovePred()
252 void ReleasePred(SUnit *SU, const SDep *PredEdge);
259 void CapturePred(SDep *PredEdge);
398 void ScheduleDAGRRList::ReleasePred(SUnit *SU, const SDep *PredEdge) { in ReleasePred()
556 for (SDep &Pred : SU->Preds) { in ReleasePredecessors()
770 for (SDep &Succ : SU->Succs) { in ScheduleNodeBottomUp()
820 void ScheduleDAGRRList::CapturePred(SDep *PredEdge) { in CapturePred()
839 for (SDep &Pred : SU->Preds) { in UnscheduleNodeBottomUp()
[all …]
DResourcePriorityQueue.cpp69 for (SDep &Pred : SU->Preds) { in numberRCValPredInSU()
107 for (const SDep &Succ : SU->Succs) { in numberRCValSuccInSU()
144 for (const SDep &Succ : SU->Succs) in numberCtrlDepsInSU()
153 for (SDep &Pred : SU->Preds) in numberCtrlPredInSU()
212 for (const SDep &Pred : SU->Preds) { in getSingleUnscheduledPred()
229 for (const SDep &Succ : SU->Succs) in push()
268 for (const SDep &Succ : Packet[i]->Succs) { in isResourceAvailable()
498 for (SDep &Pred : SU->Preds) { in scheduledNode()
513 for (const SDep &Succ : SU->Succs) { in scheduledNode()
DScheduleDAGSDNodes.cpp503 SDep Dep = isChain ? SDep(OpSU, SDep::Barrier) in AddSchedEdges()
504 : SDep(OpSU, SDep::Data, PhysReg); in AddSchedEdges()
643 unsigned OpIdx, SDep& dep) const{ in computeOperandLatency()
648 if (dep.getKind() != SDep::Data) in computeOperandLatency()
DScheduleDAGVLIW.cpp85 void releaseSucc(SUnit *SU, const SDep &D);
113 void ScheduleDAGVLIW::releaseSucc(SUnit *SU, const SDep &D) { in releaseSucc()
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/Hexagon/
DHexagonSubtarget.cpp132 SmallVector<SDep, 4> Erase; in apply()
134 if (D.getKind() == SDep::Output && D.getReg() == Hexagon::USR_OVF) in apply()
152 for (SDep &SI : SU.Succs) { in apply()
153 if (SI.getKind() != SDep::Order || SI.getLatency() != 0) in apply()
162 for (SDep &PI : SI.getSUnit()->Preds) { in apply()
163 if (PI.getSUnit() != &SU || PI.getKind() != SDep::Order) in apply()
211 DAG->addEdge(&DAG->SUnits[su], SDep(LastSequentialCall, SDep::Barrier)); in apply()
215 DAG->addEdge(&DAG->SUnits[su], SDep(&DAG->SUnits[su-1], SDep::Barrier)); in apply()
252 DAG->addEdge(&DAG->SUnits[su], SDep(LastVRegUse[*AI], SDep::Barrier)); in apply()
302 SDep A(&S0, SDep::Artificial); in apply()
[all …]
DHexagonVLIWPacketizer.cpp297 SDep::Kind DepType, unsigned DepReg) { in isCallDependent()
311 if (DepType == SDep::Data) { in isCallDependent()
320 static bool isRegDependence(const SDep::Kind DepType) { in isRegDependence()
321 return DepType == SDep::Data || DepType == SDep::Anti || in isRegDependence()
322 DepType == SDep::Output; in isRegDependence()
370 SDep::Kind DepType, MachineBasicBlock::iterator &MII, in promoteToDotCur()
372 assert(DepType == SDep::Data); in promoteToDotCur()
452 SDep::Kind DepType, MachineBasicBlock::iterator &MII, in promoteToDotNew()
454 assert(DepType == SDep::Data); in promoteToDotNew()
527 if (PI.getKind() != SDep::Anti && in updateOffset()
[all …]
DHexagonVLIWPacketizer.h109 bool isCallDependent(const MachineInstr &MI, SDep::Kind DepType,
111 bool promoteToDotCur(MachineInstr &MI, SDep::Kind DepType,
119 bool promoteToDotNew(MachineInstr &MI, SDep::Kind DepType,
DHexagonSubtarget.h37 class SDep; variable
214 void adjustSchedDependency(SUnit *def, SUnit *use, SDep& dep) const override;
270 void updateLatency(MachineInstr &SrcInst, MachineInstr &DstInst, SDep &Dep)
DHexagonMachineScheduler.cpp292 for (const SDep &PI : SU->Preds) { in releaseTopNode()
646 for (const SDep &SI : SU->Succs) in SchedulingCost()
652 for (const SDep &PI : SU->Preds) in SchedulingCost()
706 for (const SDep &PI : SU->Preds) { in SchedulingCost()
715 for (const SDep &SI : SU->Succs) { in SchedulingCost()
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/AMDGPU/
DAMDGPUSubtarget.cpp720 SDep &Dep) const { in adjustSchedDependency()
721 if (Dep.getKind() != SDep::Kind::Data || !Dep.getReg() || in adjustSchedDependency()
786 for (const SDep &SI : SU.Preds) { in apply()
788 SUa->addPred(SDep(SI.getSUnit(), SDep::Artificial)); in apply()
792 for (const SDep &SI : SUa->Succs) { in apply()
794 SI.getSUnit()->addPred(SDep(&SU, SDep::Artificial)); in apply()
828 for (const SDep &SI : Succs[I]->Succs) { in canAddEdge()
841 for (const SDep &SI : SU->Preds) in canAddEdge()
864 if (SU->addPred(SDep(From, SDep::Artificial), false)) in linkSALUChain()
867 for (SDep &SI : From->Succs) { in linkSALUChain()
[all …]
DSIMachineScheduler.cpp443 for (SDep& Succ : SU->Succs) { in undoSchedule()
453 void SIScheduleBlock::undoReleaseSucc(SUnit *SU, SDep *SuccEdge) { in undoReleaseSucc()
463 void SIScheduleBlock::releaseSucc(SUnit *SU, SDep *SuccEdge) { in releaseSucc()
484 for (SDep& Succ : SU->Succs) { in releaseSuccessors()
516 for (SDep& Succ : SU->Succs) { in nodeScheduled()
665 PredDep.getKind() == llvm::SDep::Data) in hasDataDependencyPred()
819 for (SDep& PredDep : SU->Preds) { in colorComputeReservedDependencies()
861 for (SDep& SuccDep : SU->Succs) { in colorComputeReservedDependencies()
945 for (SDep& SuccDep : SU->Succs) { in colorEndsAccordingToDependencies()
1015 for (SDep& SuccDep : SU->Succs) { in colorMergeConstantLoadsNextGroup()
[all …]
DGCNMinRegStrategy.cpp94 for (auto SDep : SU->Succs) { in getReadySuccessors() local
96 for (auto PDep : SDep.getSUnit()->Preds) { in getReadySuccessors()
187 S.getKind() != SDep::Data) in bumpPredsPriority()
DGCNILPSched.cpp65 for (const SDep &Pred : SU->Preds) { in CalcNodeSethiUllmanNumber()
109 for (const SDep &Succ : SU->Succs) { in closestSucc()
124 for (const SDep &Pred : SU->Preds) { in calcMaxScratches()
DR600Packetizer.cpp195 const SDep &Dep = SUJ->Succs[i]; in isLegalToPacketizeTogether()
198 if (Dep.getKind() == SDep::Anti) in isLegalToPacketizeTogether()
200 if (Dep.getKind() == SDep::Output) in isLegalToPacketizeTogether()

12