aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/Support/GraphWriter.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-10-16 20:15:38 +0000
committerChris Lattner <sabre@nondot.org>2002-10-16 20:15:38 +0000
commit7be17dd23364e7f3bd63f5e765c9381bdb544cd5 (patch)
tree18d8cf5a5bbf0f889e842aa21639ab164bfb126c /include/llvm/Support/GraphWriter.h
parente8e035b591be58b4a26928326d7e9a289e176169 (diff)
Allow simple nodes to have outgoing edges
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4202 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Support/GraphWriter.h')
-rw-r--r--include/llvm/Support/GraphWriter.h21
1 files changed, 16 insertions, 5 deletions
diff --git a/include/llvm/Support/GraphWriter.h b/include/llvm/Support/GraphWriter.h
index 60cae2e500..743e3a309e 100644
--- a/include/llvm/Support/GraphWriter.h
+++ b/include/llvm/Support/GraphWriter.h
@@ -141,17 +141,28 @@ public:
}
/// emitSimpleNode - Outputs a simple (non-record) node
- void emitSimpleNode(void *ID, const std::string &Attr,
- const std::string &Label) {
+ void emitSimpleNode(const void *ID, const std::string &Attr,
+ const std::string &Label, unsigned NumEdgeSources = 0) {
O << "\tNode" << ID << "[ ";
if (!Attr.empty())
O << Attr << ",";
- O << " label =\"" << DOT::EscapeString(Label) << "\"];\n";
+ O << " label =\"{" << DOT::EscapeString(Label);
+ if (NumEdgeSources) {
+ O << "|{";
+
+ for (unsigned i = 0; i != NumEdgeSources; ++i) {
+ if (i) O << "|";
+ O << "<g" << i << ">";
+ }
+ O << "}";
+ }
+ O << "}\"];\n";
}
/// emitEdge - Output an edge from a simple node into the graph...
- void emitEdge(void *SrcNodeID, int SrcNodePort,
- void *DestNodeID, int DestNodePort, const std::string &Attrs) {
+ void emitEdge(const void *SrcNodeID, int SrcNodePort,
+ const void *DestNodeID, int DestNodePort,
+ const std::string &Attrs) {
O << "\tNode" << SrcNodeID;
if (SrcNodePort >= 0)
O << ":g" << SrcNodePort;