- 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
This commit is contained in:
Chris Lattner
2002-11-20 18:36:02 +00:00
parent c09aab0a4d
commit 6e6026b465
27 changed files with 159 additions and 250 deletions

View File

@ -437,16 +437,15 @@ static FILE *getFILE(PointerTy Ptr) {
// 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