Annotate nodes with their addresses if a graph requests it.
authorChris Lattner <sabre@nondot.org>
Sat, 1 Oct 2005 00:19:21 +0000 (00:19 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 1 Oct 2005 00:19:21 +0000 (00:19 +0000)
This is Jim's feature implemented so that graphs could 'opt-in' and get
this behavior.  This is currently used by selection dags.

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

include/llvm/Support/GraphWriter.h

index e898733a5831d2b113a31d361c5ea31279cc03d8..ac0d52379f061a12c0ccdcce08ccaad370439e9c 100644 (file)
@@ -111,9 +111,14 @@ public:
     if (!NodeAttributes.empty()) O << NodeAttributes << ",";
     O << "label=\"{";
 
-    if (!DOTTraits::renderGraphFromBottomUp())
+    if (!DOTTraits::renderGraphFromBottomUp()) {
       O << DOT::EscapeString(DOTTraits::getNodeLabel(Node, G));
 
+      // If we should include the address of the node in the label, do so now.
+      if (DOTTraits::hasNodeAddressLabel(Node, G))
+        O << "|" << (void*)Node;
+    }
+
     // Print out the fields of the current node...
     child_iterator EI = GTraits::child_begin(Node);
     child_iterator EE = GTraits::child_end(Node);
@@ -131,9 +136,15 @@ public:
       O << "}";
       if (DOTTraits::renderGraphFromBottomUp()) O << "|";
     }
-    if (DOTTraits::renderGraphFromBottomUp())
+
+    if (DOTTraits::renderGraphFromBottomUp()) {
       O << DOT::EscapeString(DOTTraits::getNodeLabel(Node, G));
 
+      // If we should include the address of the node in the label, do so now.
+      if (DOTTraits::hasNodeAddressLabel(Node, G))
+        O << "|" << (void*)Node;
+    }
+
     O << "}\"];\n";   // Finish printing the "node" line
 
     // Output all of the edges now