mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-07 14:33:15 +00:00
Fix problem with dangling referrers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4595 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f17b39ab2a
commit
e83cb5316b
@ -158,6 +158,9 @@ FunctionModRefInfo::computeModRef(const CallInst& callInst)
|
||||
if (csgNodes[i]->isRead())
|
||||
callModRefInfo->setNodeIsRef(getNodeId(origNodes[i]));
|
||||
}
|
||||
|
||||
// Drop nodemap before we delete the graph...
|
||||
NodeMap.clear();
|
||||
delete csgp;
|
||||
}
|
||||
|
||||
@ -194,7 +197,6 @@ void FunctionModRefInfo::dump() const
|
||||
// class IPModRef: An interprocedural pass that computes IP Mod/Ref info.
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
|
||||
// Free the FunctionModRefInfo objects cached in funcToModRefInfoMap.
|
||||
//
|
||||
void IPModRef::releaseMemory()
|
||||
@ -215,6 +217,7 @@ void IPModRef::releaseMemory()
|
||||
bool IPModRef::run(Module &theModule)
|
||||
{
|
||||
M = &theModule;
|
||||
|
||||
for (Module::const_iterator FI = M->begin(), FE = M->end(); FI != FE; ++FI)
|
||||
if (! FI->isExternal())
|
||||
getFuncInfo(*FI, /*computeIfMissing*/ true);
|
||||
|
@ -158,6 +158,9 @@ FunctionModRefInfo::computeModRef(const CallInst& callInst)
|
||||
if (csgNodes[i]->isRead())
|
||||
callModRefInfo->setNodeIsRef(getNodeId(origNodes[i]));
|
||||
}
|
||||
|
||||
// Drop nodemap before we delete the graph...
|
||||
NodeMap.clear();
|
||||
delete csgp;
|
||||
}
|
||||
|
||||
@ -194,7 +197,6 @@ void FunctionModRefInfo::dump() const
|
||||
// class IPModRef: An interprocedural pass that computes IP Mod/Ref info.
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
|
||||
// Free the FunctionModRefInfo objects cached in funcToModRefInfoMap.
|
||||
//
|
||||
void IPModRef::releaseMemory()
|
||||
@ -215,6 +217,7 @@ void IPModRef::releaseMemory()
|
||||
bool IPModRef::run(Module &theModule)
|
||||
{
|
||||
M = &theModule;
|
||||
|
||||
for (Module::const_iterator FI = M->begin(), FE = M->end(); FI != FE; ++FI)
|
||||
if (! FI->isExternal())
|
||||
getFuncInfo(*FI, /*computeIfMissing*/ true);
|
||||
|
Loading…
x
Reference in New Issue
Block a user