From 26d837d08653a1c93811b4609422b75d7ddd98aa Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Wed, 25 Aug 2010 20:22:53 +0000 Subject: 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. llvm-svn: 112082 --- llvm/lib/Bitcode/Reader/BitcodeReader.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp') diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp index 63c8597..0d961c3 100644 --- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp +++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp @@ -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().swap(FunctionBBs); return false; -- cgit v1.1