remove CallGraphNode::replaceCallSite, it is redundant with other APIs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80708 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2009-09-01 18:52:39 +00:00
parent 8a3198b770
commit da230cb876
5 changed files with 7 additions and 30 deletions

View File

@@ -279,27 +279,5 @@ void CallGraphNode::removeOneAbstractEdgeTo(CallGraphNode *Callee) {
}
}
/// replaceCallSite - Make the edge in the node for Old CallSite be for
/// New CallSite instead. Note that this method takes linear time, so it
/// should be used sparingly.
void CallGraphNode::replaceCallSite(CallSite Old, CallSite New,
CallGraphNode *NewCallee) {
for (CalledFunctionsVector::iterator I = CalledFunctions.begin(); ; ++I) {
assert(I != CalledFunctions.end() && "Cannot find callsite to replace!");
if (I->first != Old.getInstruction()) continue;
I->first = New.getInstruction();
// If the callee is changing, not just the callsite, then update it as
// well.
if (NewCallee) {
I->second->DropRef();
I->second = NewCallee;
I->second->AddRef();
}
return;
}
}
// Enuse that users of CallGraph.h also link with this file
DEFINING_FILE_FOR(CallGraph)

View File

@@ -228,7 +228,7 @@ void CGPassManager::RefreshCallGraph(std::vector<CallGraphNode*> &CurSCC,
else
CalleeNode = CG.getCallsExternalNode();
CGN->replaceCallSite(CS, CS, CalleeNode);
ExistingIt->second = CalleeNode;
MadeChange = true;
continue;
}