aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/Analysis/DataStructure/DSGraph.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/llvm/Analysis/DataStructure/DSGraph.h b/include/llvm/Analysis/DataStructure/DSGraph.h
index e8555c6532..430a7bf281 100644
--- a/include/llvm/Analysis/DataStructure/DSGraph.h
+++ b/include/llvm/Analysis/DataStructure/DSGraph.h
@@ -154,6 +154,10 @@ public:
GlobalSet.clear();
}
+ /// spliceFrom - Copy all entries from RHS, then clear RHS.
+ ///
+ void spliceFrom(DSScalarMap &RHS);
+
// Access to the global set: the set of all globals currently in the
// scalar map.
typedef GlobalSetTy::const_iterator global_iterator;
@@ -455,6 +459,12 @@ public:
void computeCalleeCallerMapping(DSCallSite CS, const Function &Callee,
DSGraph &CalleeGraph, NodeMapTy &NodeMap);
+ /// spliceFrom - Logically perform the operation of cloning the RHS graph into
+ /// this graph, then clearing the RHS graph. Instead of performing this as
+ /// two seperate operations, do it as a single, much faster, one.
+ ///
+ void spliceFrom(DSGraph &RHS);
+
/// cloneInto - Clone the specified DSGraph into the current graph.
///
/// The CloneFlags member controls various aspects of the cloning process.