diff options
author | Dan Gohman <gohman@apple.com> | 2008-07-21 21:06:55 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2008-07-21 21:06:55 +0000 |
commit | 358033102ffaef4d1afb1c0b7e96440906f0b48f (patch) | |
tree | 14fa1a4a6ca923476c8165cbdc22e85c8a91a243 /include/llvm/Support/GraphWriter.h | |
parent | 2dbc167294c1a7a4cd7a43f86bff104afd6110e5 (diff) | |
download | llvm-358033102ffaef4d1afb1c0b7e96440906f0b48f.tar.gz llvm-358033102ffaef4d1afb1c0b7e96440906f0b48f.tar.bz2 llvm-358033102ffaef4d1afb1c0b7e96440906f0b48f.tar.xz |
Enhance the GraphWriter support for edge destinations, and teach the
SelectionDAG graph writer to make use of them. Now, nodes with multiple
values are displayed as such, with incoming edges pointing to the
specific value they use.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53875 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Support/GraphWriter.h')
-rw-r--r-- | include/llvm/Support/GraphWriter.h | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/include/llvm/Support/GraphWriter.h b/include/llvm/Support/GraphWriter.h index afb2f545bb..20e85cce7d 100644 --- a/include/llvm/Support/GraphWriter.h +++ b/include/llvm/Support/GraphWriter.h @@ -146,11 +146,11 @@ public: for (unsigned i = 0; EI != EE && i != 64; ++EI, ++i) { if (i) O << "|"; - O << "<g" << i << ">" << DOTTraits::getEdgeSourceLabel(Node, EI); + O << "<s" << i << ">" << DOTTraits::getEdgeSourceLabel(Node, EI); } if (EI != EE) - O << "|<g64>truncated..."; + O << "|<s64>truncated..."; O << "}"; if (DOTTraits::renderGraphFromBottomUp()) O << "|"; } @@ -163,6 +163,20 @@ public: O << "|" << (void*)Node; } + if (DOTTraits::hasEdgeDestLabels()) { + O << "|{"; + + unsigned i = 0, e = DOTTraits::numEdgeDestLabels(Node); + for (; i != e && i != 64; ++i) { + if (i) O << "|"; + O << "<d" << i << ">" << DOTTraits::getEdgeDestLabel(Node, i); + } + + if (i != e) + O << "|<d64>truncated..."; + O << "}"; + } + O << "}\"];\n"; // Finish printing the "node" line // Output all of the edges now @@ -223,10 +237,10 @@ public: O << "\tNode" << SrcNodeID; if (SrcNodePort >= 0) - O << ":g" << SrcNodePort; + O << ":s" << SrcNodePort; O << " -> Node" << reinterpret_cast<const void*>(DestNodeID); if (DestNodePort >= 0) - O << ":g" << DestNodePort; + O << ":d" << DestNodePort; if (!Attrs.empty()) O << "[" << Attrs << "]"; |