Пример #1
0
void SUnit::dumpAll(const ScheduleDAG *G) const {
  dump(G);

  dbgs() << "  # preds left       : " << NumPredsLeft << "\n";
  dbgs() << "  # succs left       : " << NumSuccsLeft << "\n";
  if (WeakPredsLeft)
    dbgs() << "  # weak preds left  : " << WeakPredsLeft << "\n";
  if (WeakSuccsLeft)
    dbgs() << "  # weak succs left  : " << WeakSuccsLeft << "\n";
  dbgs() << "  # rdefs left       : " << NumRegDefsLeft << "\n";
  dbgs() << "  Latency            : " << Latency << "\n";
  dbgs() << "  Depth              : " << getDepth() << "\n";
  dbgs() << "  Height             : " << getHeight() << "\n";

  if (Preds.size() != 0) {
    dbgs() << "  Predecessors:\n";
    for (SUnit::const_succ_iterator I = Preds.begin(), E = Preds.end();
         I != E; ++I) {
      dbgs() << "   ";
      switch (I->getKind()) {
      case SDep::Data:        dbgs() << "val "; break;
      case SDep::Anti:        dbgs() << "anti"; break;
      case SDep::Output:      dbgs() << "out "; break;
      case SDep::Order:       dbgs() << "ch  "; break;
      }
      dbgs() << "SU(" << I->getSUnit()->NodeNum << ")";
      if (I->isArtificial())
        dbgs() << " *";
      dbgs() << ": Latency=" << I->getLatency();
      if (I->isAssignedRegDep())
        dbgs() << " Reg=" << PrintReg(I->getReg(), G->TRI);
      dbgs() << "\n";
    }
  }
  if (Succs.size() != 0) {
    dbgs() << "  Successors:\n";
    for (SUnit::const_succ_iterator I = Succs.begin(), E = Succs.end();
         I != E; ++I) {
      dbgs() << "   ";
      switch (I->getKind()) {
      case SDep::Data:        dbgs() << "val "; break;
      case SDep::Anti:        dbgs() << "anti"; break;
      case SDep::Output:      dbgs() << "out "; break;
      case SDep::Order:       dbgs() << "ch  "; break;
      }
      dbgs() << "SU(" << I->getSUnit()->NodeNum << ")";
      if (I->isArtificial())
        dbgs() << " *";
      dbgs() << ": Latency=" << I->getLatency();
      if (I->isAssignedRegDep())
        dbgs() << " Reg=" << PrintReg(I->getReg(), G->TRI);
      dbgs() << "\n";
    }
  }
}
Пример #2
0
void SUnit::dumpAll(const ScheduleDAG *G) const {
  dump(G);

  errs() << "  # preds left       : " << NumPredsLeft << "\n";
  errs() << "  # succs left       : " << NumSuccsLeft << "\n";
  errs() << "  Latency            : " << Latency << "\n";
  errs() << "  Depth              : " << Depth << "\n";
  errs() << "  Height             : " << Height << "\n";

  if (Preds.size() != 0) {
    errs() << "  Predecessors:\n";
    for (SUnit::const_succ_iterator I = Preds.begin(), E = Preds.end();
         I != E; ++I) {
      errs() << "   ";
      switch (I->getKind()) {
      case SDep::Data:        errs() << "val "; break;
      case SDep::Anti:        errs() << "anti"; break;
      case SDep::Output:      errs() << "out "; break;
      case SDep::Order:       errs() << "ch  "; break;
      }
      errs() << "#";
      errs() << I->getSUnit() << " - SU(" << I->getSUnit()->NodeNum << ")";
      if (I->isArtificial())
        errs() << " *";
      errs() << ": Latency=" << I->getLatency();
      errs() << "\n";
    }
  }
  if (Succs.size() != 0) {
    errs() << "  Successors:\n";
    for (SUnit::const_succ_iterator I = Succs.begin(), E = Succs.end();
         I != E; ++I) {
      errs() << "   ";
      switch (I->getKind()) {
      case SDep::Data:        errs() << "val "; break;
      case SDep::Anti:        errs() << "anti"; break;
      case SDep::Output:      errs() << "out "; break;
      case SDep::Order:       errs() << "ch  "; break;
      }
      errs() << "#";
      errs() << I->getSUnit() << " - SU(" << I->getSUnit()->NodeNum << ")";
      if (I->isArtificial())
        errs() << " *";
      errs() << ": Latency=" << I->getLatency();
      errs() << "\n";
    }
  }
  errs() << "\n";
}