/external/swiftshader/third_party/LLVM/lib/CodeGen/ |
D | ScheduleDAGInstrs.cpp | 273 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 …]
|
D | ScheduleDAG.cpp | 88 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 …]
|
D | AggressiveAntiDepBreaker.cpp | 278 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 …]
|
/external/swiftshader/third_party/llvm-7.0/llvm/lib/CodeGen/ |
D | MacroFusion.cpp | 36 static bool isHazard(const SDep &Dep) { in isHazard() 37 return Dep.getKind() == SDep::Anti || Dep.getKind() == SDep::Output; in isHazard() 44 for (SDep &SI : FirstSU.Succs) in fuseInstructionPair() 48 for (SDep &SI : SecondSU.Preds) in fuseInstructionPair() 57 if (!DAG.addEdge(&SecondSU, SDep(&FirstSU, SDep::Cluster))) in fuseInstructionPair() 61 for (SDep &SI : FirstSU.Succs) in fuseInstructionPair() 65 for (SDep &SI : SecondSU.Preds) in fuseInstructionPair() 78 for (const SDep &SI : FirstSU.Succs) { in fuseInstructionPair() 85 DAG.addEdge(SU, SDep(&SecondSU, SDep::Artificial)); in fuseInstructionPair() 91 for (const SDep &SI : SecondSU.Preds) { in fuseInstructionPair() [all …]
|
D | ScheduleDAG.cpp | 72 raw_ostream &SDep::print(raw_ostream &OS, const TargetRegisterInfo *TRI) const { in print() 106 bool SUnit::addPred(const SDep &D, bool Required) { in addPred() 108 for (SDep &PredDep : Preds) { in addPred() 119 SDep ForwardD = PredDep; in addPred() 121 for (SDep &SuccDep : PredSU->Succs) { in addPred() 133 SDep P = D; in addPred() 137 if (D.getKind() == SDep::Data) { in addPred() 174 void SUnit::removePred(const SDep &D) { in removePred() 176 SmallVectorImpl<SDep>::iterator I = llvm::find(Preds, D); in removePred() 180 SDep P = D; in removePred() [all …]
|
D | ScheduleDAGInstrs.cpp | 250 SDep Dep; in addPhysRegDataDeps() 252 Dep = SDep(SU, SDep::Artificial); in addPhysRegDataDeps() 257 Dep = SDep(SU, SDep::Data, *Alias); in addPhysRegDataDeps() 287 SDep::Kind Kind = MO.isUse() ? SDep::Anti : SDep::Output; in addPhysRegDeps() 296 (Kind != SDep::Output || !MO.isDead() || in addPhysRegDeps() 298 if (Kind == SDep::Anti) in addPhysRegDeps() 299 DefSU->addPred(SDep(SU, Kind, /*Reg=*/*Alias)); in addPhysRegDeps() 301 SDep Dep(SU, Kind, /*Reg=*/*Alias); in addPhysRegDeps() 410 SDep Dep(SU, SDep::Data, Reg); in addVRegDefDeps() 453 SDep Dep(SU, SDep::Output, Reg); in addVRegDefDeps() [all …]
|
D | AggressiveAntiDepBreaker.cpp | 266 static void AntiDepEdges(const SUnit *SU, std::vector<const SDep *> &Edges) { in AntiDepEdges() 270 if ((P->getKind() == SDep::Anti) || (P->getKind() == SDep::Output)) { in AntiDepEdges() 280 const SDep *Next = nullptr; in CriticalPathStep() 292 (NextDepth == PredTotalLatency && P->getKind() == SDep::Anti)) { in CriticalPathStep() 833 std::vector<const SDep *> Edges; in BreakAntiDependencies() 852 const SDep *Edge = Edges[i]; in BreakAntiDependencies() 855 if ((Edge->getKind() != SDep::Anti) && in BreakAntiDependencies() 856 (Edge->getKind() != SDep::Output)) continue; in BreakAntiDependencies() 898 (P->getKind() != SDep::Anti || P->getReg() != AntiDepReg) : in BreakAntiDependencies() 899 (P->getKind() == SDep::Data && P->getReg() == AntiDepReg)) { in BreakAntiDependencies() [all …]
|
D | MachinePipeliner.cpp | 346 bool isBackedge(SUnit *Source, const SDep &Dep) { in isBackedge() 347 if (Dep.getKind() != SDep::Anti) in isBackedge() 352 bool isLoopCarriedDep(SUnit *Source, const SDep &Dep, bool isSucc = true); 356 unsigned getDistance(SUnit *U, SUnit *V, const SDep &Dep) { in getDistance() 359 if (V->getInstr()->isPHI() && Dep.getKind() == SDep::Anti) in getDistance() 476 for (const SDep &Succ : Nodes[i]->Succs) in NodeSet() 639 int earliestCycleInChain(const SDep &Dep); 643 int latestCycleInChain(const SDep &Dep); 1024 if (SI.getKind() == SDep::Order) { in isSuccOrder() 1111 SDep Dep(Load, SDep::Barrier); in addLoopCarriedDependences() [all …]
|
/external/swiftshader/third_party/llvm-7.0/llvm/include/llvm/CodeGen/ |
D | ScheduleDAG.h | 50 class SDep { 102 SDep() : Dep(nullptr, Data) {} in SDep() function 105 SDep(SUnit *S, Kind kind, unsigned Reg) in SDep() function 124 SDep(SUnit *S, OrderKind kind) in SDep() function 130 bool overlaps(const SDep &Other) const; 132 bool operator==(const SDep &Other) const { 136 bool operator!=(const SDep &Other) const { 244 struct isPodLike<SDep> { static const bool value = true; }; 261 SmallVector<SDep, 4> Preds; ///< All sunit predecessors. 262 SmallVector<SDep, 4> Succs; ///< All sunit successors. [all …]
|
/external/swiftshader/third_party/llvm-7.0/llvm/lib/CodeGen/SelectionDAG/ |
D | ScheduleDAGFast.cpp | 89 void AddPred(SUnit *SU, const SDep &D) { in AddPred() 95 void RemovePred(SUnit *SU, const SDep &D) { in RemovePred() 100 void ReleasePred(SUnit *SU, SDep *PredEdge); 141 void ScheduleDAGFast::ReleasePred(SUnit *SU, SDep *PredEdge) { in ReleasePred() 164 for (SDep &Pred : SU->Preds) { in ReleasePredecessors() 194 for (SDep &Succ : SU->Succs) { in ScheduleNodeBottomUp() 279 SDep ChainPred; in CopyAndMoveSuccessors() 280 SmallVector<SDep, 4> ChainSuccs; in CopyAndMoveSuccessors() 281 SmallVector<SDep, 4> LoadPreds; in CopyAndMoveSuccessors() 282 SmallVector<SDep, 4> NodePreds; in CopyAndMoveSuccessors() [all …]
|
D | ScheduleDAGRRList.cpp | 226 void AddPred(SUnit *SU, const SDep &D) { in AddPred() 234 void RemovePred(SUnit *SU, const SDep &D) { in RemovePred() 245 void ReleasePred(SUnit *SU, const SDep *PredEdge); 252 void CapturePred(SDep *PredEdge); 393 void ScheduleDAGRRList::ReleasePred(SUnit *SU, const SDep *PredEdge) { in ReleasePred() 551 for (SDep &Pred : SU->Preds) { in ReleasePredecessors() 764 for (SDep &Succ : SU->Succs) { in ScheduleNodeBottomUp() 814 void ScheduleDAGRRList::CapturePred(SDep *PredEdge) { in CapturePred() 833 for (SDep &Pred : SU->Preds) { in UnscheduleNodeBottomUp() 1050 SmallVector<SDep, 4> ChainPreds; in TryUnfoldSU() [all …]
|
D | ResourcePriorityQueue.cpp | 70 for (SDep &Pred : SU->Preds) { in numberRCValPredInSU() 107 for (const SDep &Succ : SU->Succs) { in numberRCValSuccInSU() 143 for (const SDep &Succ : SU->Succs) in numberCtrlDepsInSU() 152 for (SDep &Pred : SU->Preds) in numberCtrlPredInSU() 211 for (const SDep &Pred : SU->Preds) { in getSingleUnscheduledPred() 228 for (const SDep &Succ : SU->Succs) in push() 267 for (const SDep &Succ : Packet[i]->Succs) { in isResourceAvailable() 496 for (SDep &Pred : SU->Preds) { in scheduledNode() 511 for (const SDep &Succ : SU->Succs) { in scheduledNode()
|
/external/llvm/include/llvm/CodeGen/ |
D | ScheduleDAG.h | 45 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/ |
D | ScheduleDAGFast.cpp | 82 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 …]
|
D | ScheduleDAGRRList.cpp | 203 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 …]
|
/external/llvm/lib/CodeGen/SelectionDAG/ |
D | ScheduleDAGFast.cpp | 88 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 …]
|
D | ScheduleDAGRRList.cpp | 199 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 …]
|
/external/llvm/lib/CodeGen/ |
D | ScheduleDAG.cpp | 65 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 …]
|
D | ScheduleDAGInstrs.cpp | 303 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 …]
|
D | AggressiveAntiDepBreaker.cpp | 252 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 …]
|
D | MachinePipeliner.cpp | 292 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 …]
|
/external/swiftshader/third_party/llvm-7.0/llvm/lib/Target/Hexagon/ |
D | HexagonSubtarget.cpp | 133 SmallVector<SDep, 4> Erase; in apply() 135 if (D.getKind() == SDep::Output && D.getReg() == Hexagon::USR_OVF) in apply() 153 for (SDep &SI : SU.Succs) { in apply() 154 if (SI.getKind() != SDep::Order || SI.getLatency() != 0) in apply() 163 for (SDep &PI : SI.getSUnit()->Preds) { in apply() 164 if (PI.getSUnit() != &SU || PI.getKind() != SDep::Order) in apply() 212 DAG->addEdge(&DAG->SUnits[su], SDep(LastSequentialCall, SDep::Barrier)); in apply() 216 DAG->addEdge(&DAG->SUnits[su], SDep(&DAG->SUnits[su-1], SDep::Barrier)); in apply() 254 DAG->addEdge(&DAG->SUnits[su], SDep(LastVRegUse[*AI], SDep::Barrier)); in apply() 303 SDep A(&S0, SDep::Artificial); in apply() [all …]
|
D | HexagonVLIWPacketizer.cpp | 294 SDep::Kind DepType, unsigned DepReg) { in isCallDependent() 308 if (DepType == SDep::Data) { in isCallDependent() 317 static bool isRegDependence(const SDep::Kind DepType) { in isRegDependence() 318 return DepType == SDep::Data || DepType == SDep::Anti || in isRegDependence() 319 DepType == SDep::Output; in isRegDependence() 367 SDep::Kind DepType, MachineBasicBlock::iterator &MII, in promoteToDotCur() 369 assert(DepType == SDep::Data); in promoteToDotCur() 449 SDep::Kind DepType, MachineBasicBlock::iterator &MII, in promoteToDotNew() 451 assert(DepType == SDep::Data); in promoteToDotNew() 524 if (PI.getKind() != SDep::Anti && in updateOffset() [all …]
|
/external/swiftshader/third_party/LLVM/include/llvm/CodeGen/ |
D | ScheduleDAG.h | 44 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/ |
D | HexagonVLIWPacketizer.cpp | 269 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 …]
|