mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-05 13:26:55 +00:00
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:
@@ -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)
|
||||
|
@@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user