• Home
  • Raw
  • Download

Lines Matching defs:Dep

292   bool isBackedge(SUnit *Source, const SDep &Dep) {
293 if (Dep.getKind() != SDep::Anti)
295 return Source->getInstr()->isPHI() || Dep.getSUnit()->getInstr()->isPHI();
299 static bool isOrder(SUnit *Source, const SDep &Dep) {
300 if (Dep.getKind() != SDep::Order)
303 !Dep.getSUnit()->getInstr()->isPHI());
306 bool isLoopCarriedOrder(SUnit *Source, const SDep &Dep, bool isSucc = true);
309 unsigned getLatency(SUnit *Source, const SDep &Dep) {
312 if (Dep.getKind() == SDep::Anti) {
314 return Dep.getSUnit()->Latency;
315 if (Dep.getSUnit()->getInstr()->isPHI())
317 return Dep.getLatency();
319 return Dep.getLatency();
324 unsigned getDistance(SUnit *U, SUnit *V, const SDep &Dep) {
327 if (V->getInstr()->isPHI() && Dep.getKind() == SDep::Anti)
599 int earliestCycleInChain(const SDep &Dep);
603 int latestCycleInChain(const SDep &Dep);
1103 SDep Dep(SU, SDep::Anti, Reg);
1104 I.addPred(Dep);
1122 SDep Dep(SU, SDep::Data, Reg);
1123 Dep.setLatency(0);
1124 ST.adjustSchedDependency(SU, &I, Dep);
1125 I.addPred(Dep);
1210 SDep Dep(&I, SDep::Anti, NewBase);
1211 LastSU->addPred(Dep);
1392 SDep Dep(SU, SDep::Anti, Reg);
1393 Dep.setLatency(Lat);
1394 TargetSU->addPred(Dep);
3401 bool SwingSchedulerDAG::isLoopCarriedOrder(SUnit *Source, const SDep &Dep,
3403 if (!isOrder(Source, Dep) || Dep.isArtificial())
3410 MachineInstr *DI = Dep.getSUnit()->getInstr();
3506 int SMSchedule::earliestCycleInChain(const SDep &Dep) {
3509 Worklist.push_back(Dep);
3529 int SMSchedule::latestCycleInChain(const SDep &Dep) {
3532 Worklist.push_back(Dep);
3578 const SDep &Dep = SU->Preds[i];
3579 if (Dep.getSUnit() == I) {
3580 if (!DAG->isBackedge(SU, Dep)) {
3581 int EarlyStart = cycle + DAG->getLatency(SU, Dep) -
3582 DAG->getDistance(Dep.getSUnit(), SU, Dep) * II;
3584 if (DAG->isLoopCarriedOrder(SU, Dep, false)) {
3585 int End = earliestCycleInChain(Dep) + (II - 1);
3589 int LateStart = cycle - DAG->getLatency(SU, Dep) +
3590 DAG->getDistance(SU, Dep.getSUnit(), Dep) * II;
3597 if (BE && Dep.getSUnit() == BE && !SU->getInstr()->isPHI() &&
3603 const SDep &Dep = SU->Succs[i];
3604 if (!DAG->isBackedge(SU, Dep)) {
3605 int LateStart = cycle - DAG->getLatency(SU, Dep) +
3606 DAG->getDistance(SU, Dep.getSUnit(), Dep) * II;
3608 if (DAG->isLoopCarriedOrder(SU, Dep)) {
3609 int Start = latestCycleInChain(Dep) + 1 - II;
3613 int EarlyStart = cycle + DAG->getLatency(SU, Dep) -
3614 DAG->getDistance(Dep.getSUnit(), SU, Dep) * II;