diff options
author | Chris Lattner <sabre@nondot.org> | 2002-10-10 22:29:51 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-10-10 22:29:51 +0000 |
commit | e3336c72c0aec89ba8db5ef415e48e95ef642084 (patch) | |
tree | caf34e59011fd18b72fb0bbbfe0a6a3d9254e446 | |
parent | f43f410dfb4f5a06fe9da1811899b848bda9b0c8 (diff) | |
download | bcm5719-llvm-e3336c72c0aec89ba8db5ef415e48e95ef642084.tar.gz bcm5719-llvm-e3336c72c0aec89ba8db5ef415e48e95ef642084.zip |
* Don't only print out reachable nodes in the graph.
* use new api to get all nodes in the graph
* Allow custom graph traits
llvm-svn: 4109
-rw-r--r-- | llvm/include/Support/GraphWriter.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/llvm/include/Support/GraphWriter.h b/llvm/include/Support/GraphWriter.h index 7742aff40e8..fadff105362 100644 --- a/llvm/include/Support/GraphWriter.h +++ b/llvm/include/Support/GraphWriter.h @@ -17,7 +17,7 @@ #define SUPPORT_GRAPHWRITER_H #include "Support/DOTGraphTraits.h" -#include "Support/DepthFirstIterator.h" +#include "Support/GraphTraits.h" #include <ostream> namespace DOT { // Private functions... @@ -53,19 +53,19 @@ std::ostream &WriteGraph(std::ostream &O, const GraphType &G) { typedef DOTGraphTraits<GraphType> DOTTraits; typedef GraphTraits<GraphType> GTraits; typedef typename GTraits::NodeType NodeType; + typedef typename GTraits::nodes_iterator node_iterator; - O << "digraph foo {\n" // Graph name doesn't matter - << "\tsize=\"7.5,10\";\n"; // Size to fit on a page - + O << "digraph foo {\n"; // Graph name doesn't matter std::string GraphName = DOTTraits::getGraphName(G); if (!GraphName.empty()) O << "\tlabel=\"" << DOT::EscapeString(GraphName) << "\";\n"; + O << DOTTraits::getGraphProperties(G); O << "\n"; // Loop over the graph in DFO, printing it out... - NodeType *Root = GTraits::getEntryNode(G); - for (df_iterator<GraphType> I = df_begin(G), E = df_end(G); I != E; ++I) { - NodeType *Node = *I; + for (node_iterator I = GTraits::nodes_begin(G), E = GTraits::nodes_end(G); + I != E; ++I) { + NodeType *Node = &*I; std::string NodeAttributes = DOTTraits::getNodeAttributes(Node); |