summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/llvm/Analysis/LazyCallGraph.h14
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;