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))
|
if (Stream.EnterSubBlock(bitc::FUNCTION_BLOCK_ID))
|
||||||
return Error("Malformed block record");
|
return Error("Malformed block record");
|
||||||
|
|
||||||
|
InstructionList.clear();
|
||||||
unsigned ModuleValueListSize = ValueList.size();
|
unsigned ModuleValueListSize = ValueList.size();
|
||||||
|
|
||||||
// Add all the function arguments to the value table.
|
// 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 - Enumerate module-level information.
|
||||||
ValueEnumerator::ValueEnumerator(const Module *M) {
|
ValueEnumerator::ValueEnumerator(const Module *M) {
|
||||||
InstructionCount = 0;
|
|
||||||
|
|
||||||
// Enumerate the global variables.
|
// Enumerate the global variables.
|
||||||
for (Module::const_global_iterator I = M->global_begin(),
|
for (Module::const_global_iterator I = M->global_begin(),
|
||||||
E = M->global_end(); I != E; ++I)
|
E = M->global_end(); I != E; ++I)
|
||||||
|
@ -377,6 +375,7 @@ void ValueEnumerator::EnumerateAttributes(const AttrListPtr &PAL) {
|
||||||
|
|
||||||
|
|
||||||
void ValueEnumerator::incorporateFunction(const Function &F) {
|
void ValueEnumerator::incorporateFunction(const Function &F) {
|
||||||
|
InstructionCount = 0;
|
||||||
NumModuleValues = Values.size();
|
NumModuleValues = Values.size();
|
||||||
|
|
||||||
// Adding function arguments to the value table.
|
// Adding function arguments to the value table.
|
||||||
|
|
Loading…
Reference in New Issue