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

Chris Lattner lattner at cs.uiuc.edu
Fri Feb 4 11:58:19 PST 2005



Changes in directory llvm/include/llvm/Analysis/DataStructure:

DSGraph.h updated: 1.86 -> 1.87
---
Log message:

Add some new members


---
Diffs of the changes:  (+16 -5)

 DSGraph.h |   21 ++++++++++++++++-----
 1 files changed, 16 insertions(+), 5 deletions(-)


Index: llvm/include/llvm/Analysis/DataStructure/DSGraph.h
diff -u llvm/include/llvm/Analysis/DataStructure/DSGraph.h:1.86 llvm/include/llvm/Analysis/DataStructure/DSGraph.h:1.87
--- llvm/include/llvm/Analysis/DataStructure/DSGraph.h:1.86	Thu Feb  3 12:40:05 2005
+++ llvm/include/llvm/Analysis/DataStructure/DSGraph.h	Fri Feb  4 13:58:06 2005
@@ -286,6 +286,12 @@
     return I->second;
   }
 
+  /// containsFunction - Return true if this DSGraph contains information for
+  /// the specified function.
+  bool containsFunction(Function *F) const {
+    return ReturnNodes.count(F);
+  }
+
   /// getGraphSize - Return the number of nodes in this graph.
   ///
   unsigned getGraphSize() const {
@@ -383,12 +389,17 @@
   void getFunctionArgumentsForCall(Function *F,
                                    std::vector<DSNodeHandle> &Args) const;
 
+  /// mergeInGraph - This graph merges in the minimal number of
+  /// nodes from G2 into 'this' graph, merging the bindings specified by the
+  /// call site (in this graph) with the bindings specified by the vector in G2.
+  /// If the StripAlloca's argument is 'StripAllocaBit' then Alloca markers are
+  /// removed from nodes.
+  ///
+  void mergeInGraph(const DSCallSite &CS, std::vector<DSNodeHandle> &Args,
+                    const DSGraph &G2, unsigned CloneFlags);
 
-  /// mergeInGraph - The method is used for merging graphs together.  If the
-  /// argument graph is not *this, it makes a clone of the specified graph, then
-  /// merges the nodes specified in the call site with the formal arguments in
-  /// the graph.  If the StripAlloca's argument is 'StripAllocaBit' then Alloca
-  /// markers are removed from nodes.
+  /// mergeInGraph - This method is the same as the above method, but the
+  /// argument bindings are provided by using the formal arguments of F.
   ///
   void mergeInGraph(const DSCallSite &CS, Function &F, const DSGraph &Graph,
                     unsigned CloneFlags);






More information about the llvm-commits mailing list