Add capability to set a preference of what call vector is printed to dot files

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4672 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2002-11-10 06:47:35 +00:00
parent d8d97ce857
commit 431412735b
2 changed files with 22 additions and 0 deletions

View File

@ -15,6 +15,7 @@
class DSGraph {
Function *Func; // Func - The LLVM function this graph corresponds to
DSGraph *GlobalsGraph; // Pointer to the common graph of global objects
bool PrintAuxCalls; // Should this graph print the Aux calls vector?
DSNodeHandle RetNode; // The node that gets returned...
std::vector<DSNode*> Nodes;
@ -57,6 +58,12 @@ public:
DSGraph *getGlobalsGraph() const { return GlobalsGraph; }
void setGlobalsGraph(DSGraph *G) { GlobalsGraph = G; }
// setPrintAuxCalls - If you call this method, the auxillary call vector will
// be printed instead of the standard call vector to the dot file.
//
void setPrintAuxCalls() { PrintAuxCalls = true; }
bool shouldPrintAuxCalls() const { return PrintAuxCalls; }
/// getNodes - Get a vector of all the nodes in the graph
///
const std::vector<DSNode*> &getNodes() const { return Nodes; }
@ -85,6 +92,9 @@ public:
std::vector<DSCallSite> &getAuxFunctionCalls() {
return AuxFunctionCalls;
}
const std::vector<DSCallSite> &getAuxFunctionCalls() const {
return AuxFunctionCalls;
}
/// getNodeForValue - Given a value that is used or defined in the body of the
/// current function, return the DSNode that it points to.
@ -167,6 +177,7 @@ public:
private:
bool isNodeDead(DSNode *N);
public:
// removeTriviallyDeadNodes - After the graph has been constructed, this
// method removes all unreachable nodes that are created because they got
// merged with other nodes in the graph. This is used as the first step of

View File

@ -15,6 +15,7 @@
class DSGraph {
Function *Func; // Func - The LLVM function this graph corresponds to
DSGraph *GlobalsGraph; // Pointer to the common graph of global objects
bool PrintAuxCalls; // Should this graph print the Aux calls vector?
DSNodeHandle RetNode; // The node that gets returned...
std::vector<DSNode*> Nodes;
@ -57,6 +58,12 @@ public:
DSGraph *getGlobalsGraph() const { return GlobalsGraph; }
void setGlobalsGraph(DSGraph *G) { GlobalsGraph = G; }
// setPrintAuxCalls - If you call this method, the auxillary call vector will
// be printed instead of the standard call vector to the dot file.
//
void setPrintAuxCalls() { PrintAuxCalls = true; }
bool shouldPrintAuxCalls() const { return PrintAuxCalls; }
/// getNodes - Get a vector of all the nodes in the graph
///
const std::vector<DSNode*> &getNodes() const { return Nodes; }
@ -85,6 +92,9 @@ public:
std::vector<DSCallSite> &getAuxFunctionCalls() {
return AuxFunctionCalls;
}
const std::vector<DSCallSite> &getAuxFunctionCalls() const {
return AuxFunctionCalls;
}
/// getNodeForValue - Given a value that is used or defined in the body of the
/// current function, return the DSNode that it points to.
@ -167,6 +177,7 @@ public:
private:
bool isNodeDead(DSNode *N);
public:
// removeTriviallyDeadNodes - After the graph has been constructed, this
// method removes all unreachable nodes that are created because they got
// merged with other nodes in the graph. This is used as the first step of