diff options
-rw-r--r-- | include/llvm/Analysis/DataStructure/EquivClassGraphs.h | 22 | ||||
-rw-r--r-- | lib/Analysis/DataStructure/EquivClassGraphs.cpp | 8 |
2 files changed, 8 insertions, 22 deletions
diff --git a/include/llvm/Analysis/DataStructure/EquivClassGraphs.h b/include/llvm/Analysis/DataStructure/EquivClassGraphs.h index d49c3da..281a1dd 100644 --- a/include/llvm/Analysis/DataStructure/EquivClassGraphs.h +++ b/include/llvm/Analysis/DataStructure/EquivClassGraphs.h @@ -38,8 +38,8 @@ namespace PA { DSGraph *GlobalsGraph; - // FoldedGraphsMap, one graph for each function - hash_map<const Function*, DSGraph*> FoldedGraphsMap; + // DSInfo - one graph for each function. + hash_map<const Function*, DSGraph*> DSInfo; /// ActualCallees - The actual functions callable from indirect call sites. /// @@ -70,9 +70,8 @@ namespace PA { /// callees also have the same folded graph as the CBU graph. /// DSGraph &getDSGraph(const Function &F) const { - hash_map<const Function*, DSGraph*>::const_iterator I = - FoldedGraphsMap.find(const_cast<Function*>(&F)); - assert(I != FoldedGraphsMap.end() && "No folded graph for function!"); + hash_map<const Function*, DSGraph*>::const_iterator I = DSInfo.find(&F); + assert(I != DSInfo.end() && "No graph computed for that function!"); return *I->second; } @@ -124,19 +123,6 @@ namespace PA { void processGraph(DSGraph &FG, Function &F); DSGraph &getOrCreateGraph(Function &F); - - bool hasFoldedGraph(const Function& F) const { - hash_map<const Function*, DSGraph*>::const_iterator I = - FoldedGraphsMap.find(const_cast<Function*>(&F)); - return (I != FoldedGraphsMap.end()); - } - - DSGraph* getOrCreateLeaderGraph(const Function& leader) { - DSGraph*& leaderGraph = FoldedGraphsMap[&leader]; - if (leaderGraph == NULL) - leaderGraph = new DSGraph(CBU->getGlobalsGraph().getTargetData()); - return leaderGraph; - } }; }; // end PA namespace diff --git a/lib/Analysis/DataStructure/EquivClassGraphs.cpp b/lib/Analysis/DataStructure/EquivClassGraphs.cpp index 1d80b9c..70c8f6b 100644 --- a/lib/Analysis/DataStructure/EquivClassGraphs.cpp +++ b/lib/Analysis/DataStructure/EquivClassGraphs.cpp @@ -210,7 +210,7 @@ void PA::EquivClassGraphs::buildIndirectFunctionSets(Module &M) { for (std::set<Function*>::const_iterator EqI = EqClass.begin(), EqEnd = EqClass.end(); EqI != EqEnd; ++EqI) { Function* F = *EqI; - DSGraph*& FG = FoldedGraphsMap[F]; + DSGraph*& FG = DSInfo[F]; if (F == LF || FG == mergedG) continue; @@ -253,7 +253,7 @@ void PA::EquivClassGraphs::buildIndirectFunctionSets(Module &M) { DSGraph &PA::EquivClassGraphs::getOrCreateGraph(Function &F) { // Has the graph already been created? - DSGraph *&Graph = FoldedGraphsMap[&F]; + DSGraph *&Graph = DSInfo[&F]; if (Graph) return *Graph; DSGraph &CBUGraph = CBU->getDSGraph(F); @@ -263,11 +263,11 @@ DSGraph &PA::EquivClassGraphs::getOrCreateGraph(Function &F) { Graph->setGlobalsGraph(&getGlobalsGraph()); Graph->setPrintAuxCalls(); - // Make sure to update the FoldedGraphsMap map for all functions in the graph! + // Make sure to update the DSInfo map for all functions in the graph! for (DSGraph::ReturnNodesTy::iterator I = Graph->getReturnNodes().begin(); I != Graph->getReturnNodes().end(); ++I) if (I->first != &F) { - DSGraph*& FG = FoldedGraphsMap[I->first]; + DSGraph *&FG = DSInfo[I->first]; assert(FG == NULL || FG == &CBU->getDSGraph(*I->first) && "Merging function in SCC twice?"); FG = Graph; |