forked from OSchip/llvm-project
Make the side-numbering of instructions used by metadata (which is needed to
keep track of instructions that return void) per-function. This fixes PR5278. This breaks backwards compatibility with the metadata format. That's okay because we haven't released the metadata bitcode yet. llvm-svn: 97132
This commit is contained in:
parent
ee29cc3b66
commit
a72e1af8bf
|
@ -1622,6 +1622,7 @@ bool BitcodeReader::ParseFunctionBody(Function *F) {
|
|||
if (Stream.EnterSubBlock(bitc::FUNCTION_BLOCK_ID))
|
||||
return Error("Malformed block record");
|
||||
|
||||
InstructionList.clear();
|
||||
unsigned ModuleValueListSize = ValueList.size();
|
||||
|
||||
// Add all the function arguments to the value table.
|
||||
|
|
|
@ -39,8 +39,6 @@ static bool CompareByFrequency(const std::pair<const llvm::Type*,
|
|||
|
||||
/// ValueEnumerator - Enumerate module-level information.
|
||||
ValueEnumerator::ValueEnumerator(const Module *M) {
|
||||
InstructionCount = 0;
|
||||
|
||||
// Enumerate the global variables.
|
||||
for (Module::const_global_iterator I = M->global_begin(),
|
||||
E = M->global_end(); I != E; ++I)
|
||||
|
@ -377,6 +375,7 @@ void ValueEnumerator::EnumerateAttributes(const AttrListPtr &PAL) {
|
|||
|
||||
|
||||
void ValueEnumerator::incorporateFunction(const Function &F) {
|
||||
InstructionCount = 0;
|
||||
NumModuleValues = Values.size();
|
||||
|
||||
// Adding function arguments to the value table.
|
||||
|
|
Loading…
Reference in New Issue