summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2008-07-21 19:57:57 +0000
committerDan Gohman <gohman@apple.com>2008-07-21 19:57:57 +0000
commit6dc08ebeb09a7e1b81e3ccb339d60baf6ee7f70d (patch)
treef48402c97770f8f1b63d22625c9a0895754803c5 /llvm
parent8c08a692ee138d9eb5582d8e50fa5afe4c992621 (diff)
downloadbcm5719-llvm-6dc08ebeb09a7e1b81e3ccb339d60baf6ee7f70d.tar.gz
bcm5719-llvm-6dc08ebeb09a7e1b81e3ccb339d60baf6ee7f70d.zip
Make the GraphWriter be more consistent about the string
used for the graph "title" and the graph "label", as there are differences in interpretation of these strings between viewers. llvm-svn: 53871
Diffstat (limited to 'llvm')
-rw-r--r--llvm/include/llvm/Support/GraphWriter.h27
1 files changed, 8 insertions, 19 deletions
diff --git a/llvm/include/llvm/Support/GraphWriter.h b/llvm/include/llvm/Support/GraphWriter.h
index dab09e57c6a..afb2f545bbd 100644
--- a/llvm/include/llvm/Support/GraphWriter.h
+++ b/llvm/include/llvm/Support/GraphWriter.h
@@ -85,7 +85,7 @@ public:
std::string GraphName = DOTTraits::getGraphName(G);
if (!Name.empty())
- O << "digraph " << Name << " {\n";
+ O << "digraph \"" << DOT::EscapeString(Name) << "\" {\n";
else if (!GraphName.empty())
O << "digraph \"" << DOT::EscapeString(GraphName) << "\" {\n";
else
@@ -94,7 +94,9 @@ public:
if (DOTTraits::renderGraphFromBottomUp())
O << "\trankdir=\"BT\";\n";
- if (!GraphName.empty())
+ if (!Name.empty())
+ O << "\tlabel=\"" << DOT::EscapeString(Name) << "\";\n";
+ else if (!GraphName.empty())
O << "\tlabel=\"" << DOT::EscapeString(GraphName) << "\";\n";
O << DOTTraits::getGraphProperties(G);
O << "\n";
@@ -234,12 +236,13 @@ public:
template<typename GraphType>
std::ostream &WriteGraph(std::ostream &O, const GraphType &G,
- const std::string &Name = "") {
+ const std::string &Name = "",
+ const std::string &Title = "") {
// Start the graph emission process...
GraphWriter<GraphType> W(O, G);
// Output the header for the graph...
- W.writeHeader(Name);
+ W.writeHeader(Title);
// Emit all of the nodes in the graph...
W.writeNodes();
@@ -273,24 +276,10 @@ sys::Path WriteGraph(const GraphType &G,
std::ofstream O(Filename.c_str());
if (O.good()) {
- // Start the graph emission process...
- GraphWriter<GraphType> W(O, G);
-
- // Output the header for the graph...
- W.writeHeader(Title);
-
- // Emit all of the nodes in the graph...
- W.writeNodes();
-
- // Output any customizations on the graph
- DOTGraphTraits<GraphType>::addCustomGraphFeatures(G, W);
-
- // Output the end of the graph
- W.writeFooter();
+ WriteGraph(O, G, Name, Title);
cerr << " done. \n";
O.close();
-
} else {
cerr << "error opening file for writing!\n";
Filename.clear();
OpenPOWER on IntegriCloud