return I->second;
}
+ const DSNodeHandle &getReturnNodeFor(Function &F) const {
+ ReturnNodesTy::const_iterator I = ReturnNodes.find(&F);
+ assert(I != ReturnNodes.end() && "F not in this DSGraph!");
+ return I->second;
+ }
+
/// getGraphSize - Return the number of nodes in this graph.
///
unsigned getGraphSize() const {
void mergeInGraph(const DSCallSite &CS, Function &F, const DSGraph &Graph,
unsigned CloneFlags);
+
+ /// getCallSiteForArguments - Get the arguments and return value bindings for
+ /// the specified function in the current graph.
+ ///
+ DSCallSite getCallSiteForArguments(Function &F) const;
+
// Methods for checking to make sure graphs are well formed...
void AssertNodeInGraph(const DSNode *N) const {
assert((!N || find(Nodes.begin(), Nodes.end(), N) != Nodes.end()) &&
return I->second;
}
+ const DSNodeHandle &getReturnNodeFor(Function &F) const {
+ ReturnNodesTy::const_iterator I = ReturnNodes.find(&F);
+ assert(I != ReturnNodes.end() && "F not in this DSGraph!");
+ return I->second;
+ }
+
/// getGraphSize - Return the number of nodes in this graph.
///
unsigned getGraphSize() const {
void mergeInGraph(const DSCallSite &CS, Function &F, const DSGraph &Graph,
unsigned CloneFlags);
+
+ /// getCallSiteForArguments - Get the arguments and return value bindings for
+ /// the specified function in the current graph.
+ ///
+ DSCallSite getCallSiteForArguments(Function &F) const;
+
// Methods for checking to make sure graphs are well formed...
void AssertNodeInGraph(const DSNode *N) const {
assert((!N || find(Nodes.begin(), Nodes.end(), N) != Nodes.end()) &&