Lines Matching refs:PredDep

1195 bool ScheduleDAGInstrs::addEdge(SUnit *SuccSU, const SDep &PredDep) {  in addEdge()  argument
1199 if (Topo.IsReachable(PredDep.getSUnit(), SuccSU)) in addEdge()
1201 Topo.AddPredQueued(SuccSU, PredDep.getSUnit()); in addEdge()
1203 SuccSU->addPred(PredDep, /*Required=*/!PredDep.isArtificial()); in addEdge()
1274 for (const SDep &PredDep : SU->Preds) { in visitPostorderNode() local
1275 if (PredDep.getKind() != SDep::Data) in visitPostorderNode()
1277 unsigned PredNum = PredDep.getSUnit()->NodeNum; in visitPostorderNode()
1279 joinPredSubtree(PredDep, SU, /*CheckLimit=*/false); in visitPostorderNode()
1303 void visitPostorderEdge(const SDep &PredDep, const SUnit *Succ) { in visitPostorderEdge() argument
1305 += R.DFSNodeData[PredDep.getSUnit()->NodeNum].InstrCount; in visitPostorderEdge()
1306 joinPredSubtree(PredDep, Succ); in visitPostorderEdge()
1310 void visitCrossEdge(const SDep &PredDep, const SUnit *Succ) { in visitCrossEdge() argument
1311 ConnectionPairs.push_back(std::make_pair(PredDep.getSUnit(), Succ)); in visitCrossEdge()
1353 bool joinPredSubtree(const SDep &PredDep, const SUnit *Succ, in joinPredSubtree() argument
1355 assert(PredDep.getKind() == SDep::Data && "Subtrees are for data edges"); in joinPredSubtree()
1358 const SUnit *PredSU = PredDep.getSUnit(); in joinPredSubtree()
1457 const SDep &PredDep = *DFS.getPred(); in compute() local
1460 if (PredDep.getKind() != SDep::Data in compute()
1461 || PredDep.getSUnit()->isBoundaryNode()) { in compute()
1465 if (Impl.isVisited(PredDep.getSUnit())) { in compute()
1466 Impl.visitCrossEdge(PredDep, DFS.getCurr()); in compute()
1469 Impl.visitPreorder(PredDep.getSUnit()); in compute()
1470 DFS.follow(PredDep.getSUnit()); in compute()
1474 const SDep *PredDep = DFS.backtrack(); in compute() local
1476 if (PredDep) in compute()
1477 Impl.visitPostorderEdge(*PredDep, DFS.getCurr()); in compute()