From 3a52056d4df5fcfe3834a33513645fcc9569bd62 Mon Sep 17 00:00:00 2001 From: Duncan Sands Date: Fri, 5 Sep 2008 14:56:53 +0000 Subject: [PATCH] Use removeAllCalledFunctions rather than removing edges one by one by hand. llvm-svn: 55836 --- llvm/lib/Transforms/IPO/Inliner.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/llvm/lib/Transforms/IPO/Inliner.cpp b/llvm/lib/Transforms/IPO/Inliner.cpp index 88b6afdebb70..d9609489a9df 100644 --- a/llvm/lib/Transforms/IPO/Inliner.cpp +++ b/llvm/lib/Transforms/IPO/Inliner.cpp @@ -61,11 +61,10 @@ static bool InlineCallIfPossible(CallSite CS, CallGraph &CG, if (Callee->use_empty() && Callee->hasInternalLinkage() && !SCCFunctions.count(Callee)) { DOUT << " -> Deleting dead function: " << Callee->getName() << "\n"; + CallGraphNode *CalleeNode = CG[Callee]; // Remove any call graph edges from the callee to its callees. - CallGraphNode *CalleeNode = CG[Callee]; - while (!CalleeNode->empty()) - CalleeNode->removeCallEdgeTo((CalleeNode->end()-1)->second); + CalleeNode->removeAllCalledFunctions(); // Removing the node for callee from the call graph and delete it. delete CG.removeFunctionFromModule(CalleeNode); @@ -198,8 +197,7 @@ bool Inliner::doFinalization(CallGraph &CG) { F->use_empty()) { // Remove any call graph edges from the function to its callees. - while (!CGN->empty()) - CGN->removeCallEdgeTo((CGN->end()-1)->second); + CGN->removeAllCalledFunctions(); // Remove any edges from the external node to the function's call graph // node. These edges might have been made irrelegant due to