mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-23 02:32:11 +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();
|
InstructionList.clear();
|
||||||
unsigned ModuleValueListSize = ValueList.size();
|
unsigned ModuleValueListSize = ValueList.size();
|
||||||
|
unsigned ModuleMDValueListSize = MDValueList.size();
|
||||||
|
|
||||||
// Add all the function arguments to the value table.
|
// Add all the function arguments to the value table.
|
||||||
for(Function::arg_iterator I = F->arg_begin(), E = F->arg_end(); I != E; ++I)
|
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.
|
// Trim the value list down to the size it was before we parsed this function.
|
||||||
ValueList.shrinkTo(ModuleValueListSize);
|
ValueList.shrinkTo(ModuleValueListSize);
|
||||||
|
MDValueList.shrinkTo(ModuleMDValueListSize);
|
||||||
std::vector<BasicBlock*>().swap(FunctionBBs);
|
std::vector<BasicBlock*>().swap(FunctionBBs);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user