[llvm-commits] CVS: llvm/include/llvm/Analysis/DSGraph.h

Chris Lattner lattner at cs.uiuc.edu
Sun Nov 10 00:48:07 PST 2002


Changes in directory llvm/include/llvm/Analysis:

DSGraph.h updated: 1.37 -> 1.38

---
Log message:

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


---
Diffs of the changes:

Index: llvm/include/llvm/Analysis/DSGraph.h
diff -u llvm/include/llvm/Analysis/DSGraph.h:1.37 llvm/include/llvm/Analysis/DSGraph.h:1.38
--- llvm/include/llvm/Analysis/DSGraph.h:1.37	Sat Nov  9 16:07:02 2002
+++ llvm/include/llvm/Analysis/DSGraph.h	Sun Nov 10 00:47:35 2002
@@ -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 @@
   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 @@
   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 @@
 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





More information about the llvm-commits mailing list