diff options
author | Chris Lattner <sabre@nondot.org> | 2002-11-20 18:36:02 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-11-20 18:36:02 +0000 |
commit | 98cf1f5d64b0ed95e38842e89f42a11661e9ede7 (patch) | |
tree | e116821d17ad7bca39cd763e1705f69b7b405bc5 /llvm/lib/ExecutionEngine | |
parent | 7c6d9d9eaca381cdeba24640ffcdce297851feb1 (diff) | |
download | bcm5719-llvm-98cf1f5d64b0ed95e38842e89f42a11661e9ede7.tar.gz bcm5719-llvm-98cf1f5d64b0ed95e38842e89f42a11661e9ede7.zip |
- 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
Diffstat (limited to 'llvm/lib/ExecutionEngine')
-rw-r--r-- | llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp | 19 | ||||
-rw-r--r-- | llvm/lib/ExecutionEngine/Interpreter/Support.cpp | 7 |
2 files changed, 11 insertions, 15 deletions
diff --git a/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp b/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp index bc873e290eb..89f64b1b9b4 100644 --- a/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp +++ b/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp @@ -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 diff --git a/llvm/lib/ExecutionEngine/Interpreter/Support.cpp b/llvm/lib/ExecutionEngine/Interpreter/Support.cpp index aa97621214a..4c31d2692ad 100644 --- a/llvm/lib/ExecutionEngine/Interpreter/Support.cpp +++ b/llvm/lib/ExecutionEngine/Interpreter/Support.cpp @@ -15,13 +15,10 @@ using std::cout; // LookupMatchingNames helper - Search a symbol table for values matching Name. // static inline void LookupMatchingNames(const std::string &Name, - SymbolTable *SymTab, + SymbolTable &SymTab, std::vector<Value*> &Results) { - if (SymTab == 0) return; // No symbolic values :( - // Loop over all of the type planes in the symbol table... - for (SymbolTable::iterator I = SymTab->begin(), E = SymTab->end(); - I != E; ++I) { + for (SymbolTable::iterator I = SymTab.begin(), E = SymTab.end(); I != E; ++I){ SymbolTable::VarMap &Plane = I->second; // Search the symbol table plane for this name... |