From 8fd27150987877508f6be1d6823095354e509ed5 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 2 Jul 2003 04:37:00 +0000 Subject: [PATCH] Add new methods git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7057 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Analysis/DSGraph.h | 12 ++++++++++++ include/llvm/Analysis/DataStructure/DSGraph.h | 12 ++++++++++++ 2 files changed, 24 insertions(+) diff --git a/include/llvm/Analysis/DSGraph.h b/include/llvm/Analysis/DSGraph.h index 81979cf74ec..06b694220db 100644 --- a/include/llvm/Analysis/DSGraph.h +++ b/include/llvm/Analysis/DSGraph.h @@ -136,6 +136,12 @@ public: 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 { @@ -218,6 +224,12 @@ public: 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()) && diff --git a/include/llvm/Analysis/DataStructure/DSGraph.h b/include/llvm/Analysis/DataStructure/DSGraph.h index 81979cf74ec..06b694220db 100644 --- a/include/llvm/Analysis/DataStructure/DSGraph.h +++ b/include/llvm/Analysis/DataStructure/DSGraph.h @@ -136,6 +136,12 @@ public: 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 { @@ -218,6 +224,12 @@ public: 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()) &&