Home
last modified time | relevance | path

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

/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()
281 SDep ChainPred; in CopyAndMoveSuccessors()
282 SmallVector<SDep, 4> ChainSuccs; in CopyAndMoveSuccessors()
283 SmallVector<SDep, 4> LoadPreds; in CopyAndMoveSuccessors()
284 SmallVector<SDep, 4> NodePreds; in CopyAndMoveSuccessors()
285 SmallVector<SDep, 4> NodeSuccs; in CopyAndMoveSuccessors()
310 const SDep &Pred = LoadPreds[i]; in CopyAndMoveSuccessors()
[all …]
DScheduleDAGRRList.cpp200 void AddPred(SUnit *SU, const SDep &D) { in AddPred()
208 void RemovePred(SUnit *SU, const SDep &D) { in RemovePred()
219 void ReleasePred(SUnit *SU, const SDep *PredEdge);
226 void CapturePred(SDep *PredEdge);
366 void ScheduleDAGRRList::ReleasePred(SUnit *SU, const SDep *PredEdge) { in ReleasePred()
792 void ScheduleDAGRRList::CapturePred(SDep *PredEdge) { in CapturePred()
1018 SmallVector<SDep, 4> ChainPreds; in CopyAndMoveSuccessors()
1019 SmallVector<SDep, 4> ChainSuccs; in CopyAndMoveSuccessors()
1020 SmallVector<SDep, 4> LoadPreds; in CopyAndMoveSuccessors()
1021 SmallVector<SDep, 4> NodePreds; in CopyAndMoveSuccessors()
[all …]
DScheduleDAGVLIW.cpp88 void releaseSucc(SUnit *SU, const SDep &D);
117 void ScheduleDAGVLIW::releaseSucc(SUnit *SU, const SDep &D) { in releaseSucc()
DScheduleDAGSDNodes.cpp494 SDep Dep = isChain ? SDep(OpSU, SDep::Barrier) in AddSchedEdges()
495 : SDep(OpSU, SDep::Data, PhysReg); in AddSchedEdges()
626 unsigned OpIdx, SDep& dep) const{ in computeOperandLatency()
631 if (dep.getKind() != SDep::Data) in computeOperandLatency()
DScheduleDAGSDNodes.h103 unsigned OpIdx, SDep& dep) const;
/external/llvm/lib/CodeGen/
DScheduleDAGInstrs.cpp272 SDep Dep; in addPhysRegDataDeps()
274 Dep = SDep(SU, SDep::Artificial); in addPhysRegDataDeps()
279 Dep = SDep(SU, SDep::Data, *Alias); in addPhysRegDataDeps()
305 SDep::Kind Kind = MO.isUse() ? SDep::Anti : SDep::Output; in addPhysRegDeps()
315 (Kind != SDep::Output || !MO.isDead() || in addPhysRegDeps()
317 if (Kind == SDep::Anti) in addPhysRegDeps()
318 DefSU->addPred(SDep(SU, Kind, /*Reg=*/*Alias)); in addPhysRegDeps()
320 SDep Dep(SU, Kind, /*Reg=*/*Alias); in addPhysRegDeps()
399 SDep Dep(SU, SDep::Output, Reg); in addVRegDefDeps()
442 SDep dep(DefSU, SDep::Data, Reg); in addVRegUseDeps()
[all …]
DScheduleDAG.cpp66 bool SUnit::addPred(const SDep &D, bool Required) { in addPred()
68 for (SmallVectorImpl<SDep>::iterator I = Preds.begin(), E = Preds.end(); in addPred()
79 SDep ForwardD = *I; in addPred()
81 for (SmallVectorImpl<SDep>::iterator II = PredSU->Succs.begin(), in addPred()
94 SDep P = D; in addPred()
98 if (D.getKind() == SDep::Data) { in addPred()
134 void SUnit::removePred(const SDep &D) { in removePred()
136 for (SmallVectorImpl<SDep>::iterator I = Preds.begin(), E = Preds.end(); in removePred()
140 SDep P = D; in removePred()
143 SmallVectorImpl<SDep>::iterator Succ = std::find(N->Succs.begin(), in removePred()
[all …]
DAggressiveAntiDepBreaker.cpp260 static void AntiDepEdges(const SUnit *SU, std::vector<const SDep*>& Edges) { in AntiDepEdges()
264 if ((P->getKind() == SDep::Anti) || (P->getKind() == SDep::Output)) { in AntiDepEdges()
277 const SDep *Next = nullptr; in CriticalPathStep()
289 (NextDepth == PredTotalLatency && P->getKind() == SDep::Anti)) { in CriticalPathStep()
786 std::vector<const SDep *> Edges; in BreakAntiDependencies()
805 const SDep *Edge = Edges[i]; in BreakAntiDependencies()
808 if ((Edge->getKind() != SDep::Anti) && in BreakAntiDependencies()
809 (Edge->getKind() != SDep::Output)) continue; in BreakAntiDependencies()
851 (P->getKind() != SDep::Anti || P->getReg() != AntiDepReg) : in BreakAntiDependencies()
852 (P->getKind() == SDep::Data && P->getReg() == AntiDepReg)) { in BreakAntiDependencies()
[all …]
DCriticalAntiDepBreaker.cpp134 static const SDep *CriticalPathStep(const SUnit *SU) { in CriticalPathStep()
135 const SDep *Next = nullptr; in CriticalPathStep()
146 (NextDepth == PredTotalLatency && P->getKind() == SDep::Anti)) { in CriticalPathStep()
563 if (const SDep *Edge = CriticalPathStep(CriticalPathSU)) { in BreakAntiDependencies()
567 if (Edge->getKind() == SDep::Anti) { in BreakAntiDependencies()
589 (P->getKind() != SDep::Anti || P->getReg() != AntiDepReg) : in BreakAntiDependencies()
590 (P->getKind() == SDep::Data && P->getReg() == AntiDepReg)) { in BreakAntiDependencies()
DMachineScheduler.cpp503 bool ScheduleDAGMI::addEdge(SUnit *SuccSU, const SDep &PredDep) { in addEdge()
520 void ScheduleDAGMI::releaseSucc(SUnit *SU, SDep *SuccEdge) { in releaseSucc()
559 void ScheduleDAGMI::releasePred(SUnit *SU, SDep *PredEdge) { in releasePred()
1270 && DAG->addEdge(SUb, SDep(SUa, SDep::Cluster))) { in clusterNeighboringLoads()
1283 DAG->addEdge(SI->getSUnit(), SDep(SUb, SDep::Artificial)); in clusterNeighboringLoads()
1359 bool Success = DAG->addEdge(&DAG->ExitSU, SDep(SU, SDep::Cluster)); in apply()
1493 if (I->getKind() != SDep::Data || I->getReg() != LocalReg) in constrainLocalCopy()
1509 if (I->getKind() != SDep::Anti || I->getReg() != GlobalReg) in constrainLocalCopy()
1523 DAG->addEdge(GlobalSU, SDep(*I, SDep::Weak)); in constrainLocalCopy()
1529 DAG->addEdge(FirstLocalSU, SDep(*I, SDep::Weak)); in constrainLocalCopy()
[all …]
DPostRASchedulerList.cpp175 void ReleaseSucc(SUnit *SU, SDep *SuccEdge);
421 void SchedulePostRATDList::ReleaseSucc(SUnit *SU, SDep *SuccEdge) { in ReleaseSucc()
/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 { in overlaps()
138 bool operator==(const SDep &Other) const {
142 bool operator!=(const SDep &Other) const {
252 struct isPodLike<SDep> { static const bool value = true; };
269 SmallVector<SDep, 4> Preds; // All sunit predecessors.
270 SmallVector<SDep, 4> Succs; // All sunit successors.
[all …]
DMachineScheduler.h286 bool addEdge(SUnit *SuccSU, const SDep &PredDep);
339 void releaseSucc(SUnit *SU, SDep *SuccEdge);
341 void releasePred(SUnit *SU, SDep *PredEdge);
/external/llvm/lib/Target/Hexagon/
DHexagonVLIWPacketizer.cpp145 bool IsCallDependent(MachineInstr* MI, SDep::Kind DepType, unsigned DepReg);
146 bool PromoteToDotNew(MachineInstr* MI, SDep::Kind DepType,
323 SDep::Kind DepType, in IsCallDependent()
355 if (IsIndirectCall(MI) && (DepType == SDep::Data)) { in IsCallDependent()
365 static bool IsRegDependence(const SDep::Kind DepType) { in IsRegDependence()
366 return (DepType == SDep::Data || DepType == SDep::Anti || in IsRegDependence()
367 DepType == SDep::Output); in IsRegDependence()
433 SDep::Kind DepType, MachineBasicBlock::iterator &MII, in PromoteToDotNew()
436 assert (DepType == SDep::Data); in PromoteToDotNew()
829 (PacketSU->Succs[i].getKind() == SDep::Anti) && in RestrictingDepExistInPacket()
[all …]
DHexagonMachineScheduler.cpp34 SUnits[su].addPred(SDep(LastSequentialCall, SDep::Barrier)); in postprocessDAG()
/external/llvm/include/llvm/Target/
DTargetSubtargetInfo.h24 class SDep; variable
92 SDep& dep) const { } in adjustSchedDependency()
/external/llvm/lib/Target/R600/
DR600Packetizer.cpp201 const SDep &Dep = SUJ->Succs[i]; in isLegalToPacketizeTogether()
204 if (Dep.getKind() == SDep::Anti) in isLegalToPacketizeTogether()
206 if (Dep.getKind() == SDep::Output) in isLegalToPacketizeTogether()