Fix debug printing of flagged SDNodes in SUnits so that they
authorDan Gohman <gohman@apple.com>
Wed, 19 Nov 2008 00:04:44 +0000 (00:04 +0000)
committerDan Gohman <gohman@apple.com>
Wed, 19 Nov 2008 00:04:44 +0000 (00:04 +0000)
print in the correct order.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59567 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/ScheduleDAG.cpp

index ac7f6b9f56f4f02fa9eaf37876027af4c1e937b8..da68cd5029da43c7bb0b4c6a59497c90fbb54617 100644 (file)
@@ -461,20 +461,20 @@ void ScheduleDAG::Run() {
 /// a group of nodes flagged together.
 void SUnit::dump(const ScheduleDAG *G) const {
   cerr << "SU(" << NodeNum << "): ";
-  if (getNode())
-    getNode()->dump(G->DAG);
-  else
+  if (getNode()) {
+    SmallVector<SDNode *, 4> FlaggedNodes;
+    for (SDNode *N = getNode(); N; N = N->getFlaggedNode())
+      FlaggedNodes.push_back(N);
+    while (!FlaggedNodes.empty()) {
+      cerr << "    ";
+      FlaggedNodes.back()->dump(G->DAG);
+      cerr << "\n";
+      FlaggedNodes.pop_back();
+    }
+  } else {
     cerr << "CROSS RC COPY ";
-  cerr << "\n";
-  SmallVector<SDNode *, 4> FlaggedNodes;
-  for (SDNode *N = getNode()->getFlaggedNode(); N; N = N->getFlaggedNode())
-    FlaggedNodes.push_back(N);
-  while (!FlaggedNodes.empty()) {
-    cerr << "    ";
-    FlaggedNodes.back()->dump(G->DAG);
-    cerr << "\n";
-    FlaggedNodes.pop_back();
   }
+  cerr << "\n";
 }
 
 void SUnit::dumpAll(const ScheduleDAG *G) const {