- Eliminated the deferred symbol table stuff in Module & Function, it really
wasn't an optimization and it was causing lots of bugs.
llvm-svn: 4779
diff --git a/llvm/lib/Bytecode/Reader/Reader.cpp b/llvm/lib/Bytecode/Reader/Reader.cpp
index 0f9889c..1444501 100644
--- a/llvm/lib/Bytecode/Reader/Reader.cpp
+++ b/llvm/lib/Bytecode/Reader/Reader.cpp
@@ -338,7 +338,7 @@
case BytecodeFormat::SymbolTable:
BCR_TRACE(2, "BLOCK BytecodeFormat::SymbolTable: {\n");
- if (ParseSymbolTable(Buf, Buf+Size, M->getSymbolTableSure())) {
+ if (ParseSymbolTable(Buf, Buf+Size, &M->getSymbolTable())) {
delete M; return true;
}
break;
@@ -543,7 +543,7 @@
case BytecodeFormat::SymbolTable:
BCR_TRACE(1, "BLOCK BytecodeFormat::SymbolTable: {\n");
- if (ParseSymbolTable(Buf, Buf+Size, Mod->getSymbolTableSure())) {
+ if (ParseSymbolTable(Buf, Buf+Size, &Mod->getSymbolTable())) {
delete Mod; return true;
}
break;
diff --git a/llvm/lib/Bytecode/Writer/Writer.cpp b/llvm/lib/Bytecode/Writer/Writer.cpp
index e85498c..92b6a62 100644
--- a/llvm/lib/Bytecode/Writer/Writer.cpp
+++ b/llvm/lib/Bytecode/Writer/Writer.cpp
@@ -58,8 +58,7 @@
processMethod(I);
// If needed, output the symbol table for the module...
- if (M->hasSymbolTable())
- outputSymbolTable(*M->getSymbolTable());
+ outputSymbolTable(M->getSymbolTable());
}
// Helper function for outputConstants().
@@ -187,8 +186,7 @@
processBasicBlock(*I);
// If needed, output the symbol table for the function...
- if (F->hasSymbolTable())
- outputSymbolTable(*F->getSymbolTable());
+ outputSymbolTable(F->getSymbolTable());
Table.purgeFunction();
}