summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Gaeke <gaeke@uiuc.edu>2004-05-05 06:10:06 +0000
committerBrian Gaeke <gaeke@uiuc.edu>2004-05-05 06:10:06 +0000
commite330adf842ef484320caf65f0bdbfb820723371c (patch)
treed6617e26c9bc7a1d3ef7d60c6058cb4e87f81eee
parent706bd5bf2bcb1eda2423746b046620bf56222189 (diff)
downloadbcm5719-llvm-e330adf842ef484320caf65f0bdbfb820723371c.tar.gz
bcm5719-llvm-e330adf842ef484320caf65f0bdbfb820723371c.zip
Move the stuff that fixes the size, orientation & fonts of graphs to
the debugging functions that call "dot". These fixed settings have various problems: for example, the fixed size that is set in the graph traits classes is not appropriate for turning the dot file into a PNG, and if TrueType font rendering is being used, the 'Courier' TrueType font may not be installed. It seems easy enough to specify these things on the command line, anyhow. llvm-svn: 13366
-rw-r--r--llvm/include/Support/DOTGraphTraits.h5
-rw-r--r--llvm/lib/Analysis/CFGPrinter.cpp7
-rw-r--r--llvm/lib/Analysis/DataStructure/Printer.cpp9
3 files changed, 6 insertions, 15 deletions
diff --git a/llvm/include/Support/DOTGraphTraits.h b/llvm/include/Support/DOTGraphTraits.h
index 63837b7ddf6..7dbc4ff0b65 100644
--- a/llvm/include/Support/DOTGraphTraits.h
+++ b/llvm/include/Support/DOTGraphTraits.h
@@ -33,11 +33,10 @@ struct DefaultDOTGraphTraits {
static std::string getGraphName(const void *Graph) { return ""; }
/// getGraphProperties - Return any custom properties that should be included
- /// in the top level graph structure for dot. By default, we resize the graph
- /// to fit on a letter size page.
+ /// in the top level graph structure for dot.
///
static std::string getGraphProperties(const void *Graph) {
- return "\tsize=\"7.5,10\";\n"; // Size to fit on a page
+ return "";
}
/// getNodeLabel - Given a node and a pointer to the top level graph, return
diff --git a/llvm/lib/Analysis/CFGPrinter.cpp b/llvm/lib/Analysis/CFGPrinter.cpp
index 9530f5695ab..ddd9851b740 100644
--- a/llvm/lib/Analysis/CFGPrinter.cpp
+++ b/llvm/lib/Analysis/CFGPrinter.cpp
@@ -75,10 +75,6 @@ struct DOTGraphTraits<const Function*> : public DefaultDOTGraphTraits {
return OutStr;
}
- static std::string getNodeAttributes(const BasicBlock *N) {
- return "fontname=Courier";
- }
-
static std::string getEdgeSourceLabel(const BasicBlock *Node,
succ_const_iterator I) {
// Label source of conditional branches with "T" or "F"
@@ -155,7 +151,8 @@ void Function::viewCFG() const {
std::cerr << "\n";
std::cerr << "Running 'dot' program... " << std::flush;
- if (system(("dot -Tps " + Filename + " > /tmp/cfg.tempgraph.ps").c_str())) {
+ if (system(("dot -Tps -Nfontname=Courier -Gsize=7.5,10 " + Filename
+ + " > /tmp/cfg.tempgraph.ps").c_str())) {
std::cerr << "Error running dot: 'dot' not in path?\n";
} else {
std::cerr << "\n";
diff --git a/llvm/lib/Analysis/DataStructure/Printer.cpp b/llvm/lib/Analysis/DataStructure/Printer.cpp
index 03058fb3825..f6e073adce9 100644
--- a/llvm/lib/Analysis/DataStructure/Printer.cpp
+++ b/llvm/lib/Analysis/DataStructure/Printer.cpp
@@ -93,17 +93,12 @@ struct DOTGraphTraits<const DSGraph*> : public DefaultDOTGraphTraits {
}
}
- static const char *getGraphProperties(const DSGraph *G) {
- return "\tsize=\"10,7.5\";\n"
- "\trotate=\"90\";\n";
- }
-
static std::string getNodeLabel(const DSNode *Node, const DSGraph *Graph) {
return getCaption(Node, Graph);
}
static std::string getNodeAttributes(const DSNode *N) {
- return "shape=Mrecord";//fontname=Courier";
+ return "shape=Mrecord";
}
/// addCustomGraphFeatures - Use this graph writing hook to emit call nodes
@@ -234,7 +229,7 @@ void DSGraph::viewGraph() const {
}
print(F);
F.close();
- if (system("dot -Tps /tmp/tempgraph.dot > /tmp/tempgraph.ps"))
+ if (system("dot -Tps -Gsize=10,7.5 -Grotate=90 /tmp/tempgraph.dot > /tmp/tempgraph.ps"))
std::cerr << "Error running dot: 'dot' not in path?\n";
system("gv /tmp/tempgraph.ps");
system("rm /tmp/tempgraph.dot /tmp/tempgraph.ps");
OpenPOWER on IntegriCloud