- Eliminated the deferred symbol table stuff in Module & Function, it really
wasn't an optimization and it was causing lots of bugs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4779 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp b/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
index bc873e2..89f64b1 100644
--- a/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
+++ b/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
@@ -437,16 +437,15 @@
// Check to see if the currently loaded module contains an __iob symbol...
GlobalVariable *IOB = 0;
- if (SymbolTable *ST = M->getSymbolTable()) {
- for (SymbolTable::iterator I = ST->begin(), E = ST->end(); I != E; ++I) {
- SymbolTable::VarMap &M = I->second;
- for (SymbolTable::VarMap::iterator J = M.begin(), E = M.end();
- J != E; ++J)
- if (J->first == "__iob")
- if ((IOB = dyn_cast<GlobalVariable>(J->second)))
- break;
- if (IOB) break;
- }
+ SymbolTable &ST = M->getSymbolTable();
+ for (SymbolTable::iterator I = ST.begin(), E = ST.end(); I != E; ++I) {
+ SymbolTable::VarMap &M = I->second;
+ for (SymbolTable::VarMap::iterator J = M.begin(), E = M.end();
+ J != E; ++J)
+ if (J->first == "__iob")
+ if ((IOB = dyn_cast<GlobalVariable>(J->second)))
+ break;
+ if (IOB) break;
}
// If we found an __iob symbol now, find out what the actual address it's