summaryrefslogtreecommitdiff
path: root/lib/CodeGen/ScheduleDAG.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/CodeGen/ScheduleDAG.cpp')
-rw-r--r--lib/CodeGen/ScheduleDAG.cpp35
1 files changed, 22 insertions, 13 deletions
diff --git a/lib/CodeGen/ScheduleDAG.cpp b/lib/CodeGen/ScheduleDAG.cpp
index efde61ece639..1f0c3283ceb1 100644
--- a/lib/CodeGen/ScheduleDAG.cpp
+++ b/lib/CodeGen/ScheduleDAG.cpp
@@ -139,8 +139,7 @@ void SUnit::removePred(const SDep &D) {
SDep P = D;
P.setSUnit(this);
SUnit *N = D.getSUnit();
- SmallVectorImpl<SDep>::iterator Succ = std::find(N->Succs.begin(),
- N->Succs.end(), P);
+ SmallVectorImpl<SDep>::iterator Succ = find(N->Succs, P);
assert(Succ != N->Succs.end() && "Mismatching preds / succs lists!");
N->Succs.erase(Succ);
Preds.erase(I);
@@ -311,10 +310,20 @@ void SUnit::biasCriticalPath() {
}
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
+static void dumpSUIdentifier(const ScheduleDAG &DAG, const SUnit &SU) {
+ if (&SU == &DAG.ExitSU)
+ dbgs() << "ExitSU";
+ else if (&SU == &DAG.EntrySU)
+ dbgs() << "EntrySU";
+ else
+ dbgs() << "SU(" << SU.NodeNum << ")";
+}
+
/// SUnit - Scheduling unit. It's an wrapper around either a single SDNode or
/// a group of nodes flagged together.
void SUnit::dump(const ScheduleDAG *G) const {
- dbgs() << "SU(" << NodeNum << "): ";
+ dumpSUIdentifier(*G, *this);
+ dbgs() << ": ";
G->dumpNode(this);
}
@@ -338,12 +347,12 @@ void SUnit::dumpAll(const ScheduleDAG *G) const {
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;
+ case SDep::Data: dbgs() << "data "; break;
+ case SDep::Anti: dbgs() << "anti "; break;
+ case SDep::Output: dbgs() << "out "; break;
+ case SDep::Order: dbgs() << "ord "; break;
}
- dbgs() << "SU(" << I->getSUnit()->NodeNum << ")";
+ dumpSUIdentifier(*G, *I->getSUnit());
if (I->isArtificial())
dbgs() << " *";
dbgs() << ": Latency=" << I->getLatency();
@@ -358,12 +367,12 @@ void SUnit::dumpAll(const ScheduleDAG *G) const {
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;
+ case SDep::Data: dbgs() << "data "; break;
+ case SDep::Anti: dbgs() << "anti "; break;
+ case SDep::Output: dbgs() << "out "; break;
+ case SDep::Order: dbgs() << "ord "; break;
}
- dbgs() << "SU(" << I->getSUnit()->NodeNum << ")";
+ dumpSUIdentifier(*G, *I->getSUnit());
if (I->isArtificial())
dbgs() << " *";
dbgs() << ": Latency=" << I->getLatency();