Eliminate the cloneGraph method
authorChris Lattner <sabre@nondot.org>
Mon, 1 Nov 2004 19:54:06 +0000 (19:54 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 1 Nov 2004 19:54:06 +0000 (19:54 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17405 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Analysis/DataStructure/EquivClassGraphs.h
lib/Analysis/DataStructure/EquivClassGraphs.cpp

index 8a4b9e26d7d60908db6ae2fcbea3bdd47e6e9def..320513f4e9a2dd8da5a6314d2380571984bdfcb1 100644 (file)
@@ -151,8 +151,6 @@ namespace PA {
 
     DSGraph &getOrCreateGraph(Function &F);
 
-    DSGraph* cloneGraph(Function &F);
-
     bool hasFoldedGraph(const Function& F) const {
       hash_map<const Function*, DSGraph*>::const_iterator I =
         FoldedGraphsMap.find(const_cast<Function*>(&F));
index e21b4d9f2b0c1aa1361a43b48831612a4103a9a6..0e20714b29e9d699cecd62439621fa32363ed2c1 100644 (file)
@@ -194,7 +194,7 @@ void PA::EquivClassGraphs::buildIndirectFunctionSets(Module &M) {
       // This equiv class has multiple functions: merge their graphs.  First,
       // clone the CBU graph for the leader and make it the common graph for the
       // equivalence graph.
-      DSGraph* mergedG = cloneGraph(*LF);
+      DSGraph *mergedG = &getOrCreateGraph(*LF);
 
       // Record the argument nodes for use in merging later below
       EquivClassGraphArgsInfo& GraphInfo = getECGraphInfo(mergedG);
@@ -255,13 +255,7 @@ DSGraph &PA::EquivClassGraphs::getOrCreateGraph(Function &F) {
   DSGraph *&Graph = FoldedGraphsMap[&F];
   if (Graph) return *Graph;
 
-  return *cloneGraph(F);
-}
-
-DSGraph *PA::EquivClassGraphs::cloneGraph(Function &F) {
-  DSGraph *&Graph = FoldedGraphsMap[&F];
   DSGraph &CBUGraph = CBU->getDSGraph(F);
-  assert(Graph == 0 && "Cloning a graph twice?");
 
   // Copy the CBU graph...
   Graph = new DSGraph(CBUGraph);           // updates the map via reference
@@ -278,7 +272,7 @@ DSGraph *PA::EquivClassGraphs::cloneGraph(Function &F) {
       FG = Graph;
     }
 
-  return Graph;
+  return *Graph;
 }