diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Analysis/LazyCallGraph.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/llvm/Analysis/LazyCallGraph.h b/include/llvm/Analysis/LazyCallGraph.h index aefad6f913..ada278b114 100644 --- a/include/llvm/Analysis/LazyCallGraph.h +++ b/include/llvm/Analysis/LazyCallGraph.h @@ -223,6 +223,12 @@ public: SCC() {} + void removeEdge(LazyCallGraph &G, Function &Caller, Function &Callee, + SCC &CalleeC); + + SmallVector<LazyCallGraph::SCC *, 1> + removeInternalEdge(LazyCallGraph &G, Node &Caller, Node &Callee); + public: typedef SmallVectorImpl<Node *>::const_iterator iterator; typedef SmallSetVector<SCC *, 1>::const_iterator parent_iterator; @@ -334,6 +340,14 @@ public: return insertInto(F, N); } + /// \brief Update the call graph after deleting an edge. + void removeEdge(Node &Caller, Function &Callee); + + /// \brief Update the call graph after deleting an edge. + void removeEdge(Function &Caller, Function &Callee) { + return removeEdge(*get(Caller), Callee); + } + private: /// \brief Allocator that holds all the call graph nodes. SpecificBumpPtrAllocator<Node> BPA; |