mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-24 21:14:56 +00:00
[PM] Fix a bug where we didn't properly clear the list map when the list
became empty. This would manifest later as an assert failure due to a non-empty list map but an empty result map. This doesn't easily manifest with just the module pass manager and the function pass manager, but the next commit will add the CGSCC pass manager that hits this assert immediately. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206744 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2b3433557f
commit
6060969b9b
@ -165,6 +165,8 @@ void FunctionAnalysisManager::invalidateImpl(Function *F,
|
|||||||
while (!InvalidatedPassIDs.empty())
|
while (!InvalidatedPassIDs.empty())
|
||||||
FunctionAnalysisResults.erase(
|
FunctionAnalysisResults.erase(
|
||||||
std::make_pair(InvalidatedPassIDs.pop_back_val(), F));
|
std::make_pair(InvalidatedPassIDs.pop_back_val(), F));
|
||||||
|
if (ResultsList.empty())
|
||||||
|
FunctionAnalysisResultLists.erase(F);
|
||||||
}
|
}
|
||||||
|
|
||||||
char FunctionAnalysisManagerModuleProxy::PassID;
|
char FunctionAnalysisManagerModuleProxy::PassID;
|
||||||
|
Loading…
Reference in New Issue
Block a user