mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-25 00:24:26 +00:00
Update the callgraph correctly in ArgumentPromotion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55895 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -607,6 +607,10 @@ Function *ArgPromotion::DoPromotion(Function *F,
|
||||
// changes.
|
||||
AliasAnalysis &AA = getAnalysis<AliasAnalysis>();
|
||||
|
||||
// Get the callgraph information that we need to update to reflect our
|
||||
// changes.
|
||||
CallGraph &CG = getAnalysis<CallGraph>();
|
||||
|
||||
// Loop over all of the callers of the function, transforming the call sites
|
||||
// to pass in the loaded pointers.
|
||||
//
|
||||
@ -710,6 +714,9 @@ Function *ArgPromotion::DoPromotion(Function *F,
|
||||
// the old call with a new one.
|
||||
AA.replaceWithNewValue(Call, New);
|
||||
|
||||
// Update the callgraph to know that the callsite has been transformed.
|
||||
CG[Call->getParent()->getParent()]->replaceCallSite(Call, New);
|
||||
|
||||
if (!Call->use_empty()) {
|
||||
Call->replaceAllUsesWith(New);
|
||||
New->takeName(Call);
|
||||
|
Reference in New Issue
Block a user