summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-11-20 18:36:02 +0000
committerChris Lattner <sabre@nondot.org>2002-11-20 18:36:02 +0000
commit98cf1f5d64b0ed95e38842e89f42a11661e9ede7 (patch)
treee116821d17ad7bca39cd763e1705f69b7b405bc5 /llvm/lib/ExecutionEngine
parent7c6d9d9eaca381cdeba24640ffcdce297851feb1 (diff)
downloadbcm5719-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.cpp19
-rw-r--r--llvm/lib/ExecutionEngine/Interpreter/Support.cpp7
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...
OpenPOWER on IntegriCloud