aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Analysis
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-02-04 19:58:06 +0000
committerChris Lattner <sabre@nondot.org>2005-02-04 19:58:06 +0000
commiteefc71be20d1393b84ecfe214054e1c0bce2aa40 (patch)
tree0531e6ee6d2a56afd51d719f5b390d789ac61770 /include/llvm/Analysis
parentfbafcb746872c25d4928834bd8234e78ab202a0c (diff)
downloadexternal_llvm-eefc71be20d1393b84ecfe214054e1c0bce2aa40.zip
external_llvm-eefc71be20d1393b84ecfe214054e1c0bce2aa40.tar.gz
external_llvm-eefc71be20d1393b84ecfe214054e1c0bce2aa40.tar.bz2
Add some new members
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20034 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Analysis')
-rw-r--r--include/llvm/Analysis/DataStructure/DSGraph.h21
1 files changed, 16 insertions, 5 deletions
diff --git a/include/llvm/Analysis/DataStructure/DSGraph.h b/include/llvm/Analysis/DataStructure/DSGraph.h
index 5b9b89f..760bf57 100644
--- a/include/llvm/Analysis/DataStructure/DSGraph.h
+++ b/include/llvm/Analysis/DataStructure/DSGraph.h
@@ -286,6 +286,12 @@ public:
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 @@ public:
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);