mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 04:30:23 +00:00
Fix the bitcode reader to clear out function-specific state
from MDValueList between each function, now that the bitcode writer is reusing the index space for function-local metadata. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112082 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
56e2a57744
commit
698138384e
@ -1636,6 +1636,7 @@ bool BitcodeReader::ParseFunctionBody(Function *F) {
|
||||
|
||||
InstructionList.clear();
|
||||
unsigned ModuleValueListSize = ValueList.size();
|
||||
unsigned ModuleMDValueListSize = MDValueList.size();
|
||||
|
||||
// Add all the function arguments to the value table.
|
||||
for(Function::arg_iterator I = F->arg_begin(), E = F->arg_end(); I != E; ++I)
|
||||
@ -2353,6 +2354,7 @@ bool BitcodeReader::ParseFunctionBody(Function *F) {
|
||||
|
||||
// Trim the value list down to the size it was before we parsed this function.
|
||||
ValueList.shrinkTo(ModuleValueListSize);
|
||||
MDValueList.shrinkTo(ModuleMDValueListSize);
|
||||
std::vector<BasicBlock*>().swap(FunctionBBs);
|
||||
|
||||
return false;
|
||||
|
Loading…
Reference in New Issue
Block a user