[llvm-commits] CVS: llvm/include/Support/GraphWriter.h
Chris Lattner
lattner at cs.uiuc.edu
Thu Oct 10 17:31:01 PDT 2002
Changes in directory llvm/include/Support:
GraphWriter.h updated: 1.2 -> 1.3
---
Log message:
* Don't only print out reachable nodes in the graph.
* use new api to get all nodes in the graph
* Allow custom graph traits
---
Diffs of the changes:
Index: llvm/include/Support/GraphWriter.h
diff -u llvm/include/Support/GraphWriter.h:1.2 llvm/include/Support/GraphWriter.h:1.3
--- llvm/include/Support/GraphWriter.h:1.2 Mon Oct 7 17:37:03 2002
+++ llvm/include/Support/GraphWriter.h Thu Oct 10 17:29:51 2002
@@ -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 @@
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);
More information about the llvm-commits
mailing list