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/Transforms/Scalar | |
| 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/Transforms/Scalar')
| -rw-r--r-- | llvm/lib/Transforms/Scalar/SymbolStripping.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/llvm/lib/Transforms/Scalar/SymbolStripping.cpp b/llvm/lib/Transforms/Scalar/SymbolStripping.cpp index 5f529690755..99e596e8f2a 100644 --- a/llvm/lib/Transforms/Scalar/SymbolStripping.cpp +++ b/llvm/lib/Transforms/Scalar/SymbolStripping.cpp @@ -19,20 +19,19 @@ #include "llvm/SymbolTable.h" #include "llvm/Pass.h" -static bool StripSymbolTable(SymbolTable *SymTab) { - if (SymTab == 0) return false; // No symbol table? No problem. +static bool StripSymbolTable(SymbolTable &SymTab) { bool RemovedSymbol = false; - for (SymbolTable::iterator I = SymTab->begin(); I != SymTab->end(); ++I) { + for (SymbolTable::iterator I = SymTab.begin(); I != SymTab.end(); ++I) { std::map<const std::string, Value *> &Plane = I->second; SymbolTable::type_iterator B; while ((B = Plane.begin()) != Plane.end()) { // Found nonempty type plane! Value *V = B->second; if (isa<Constant>(V) || isa<Type>(V)) - SymTab->type_remove(B); + SymTab.type_remove(B); else - V->setName("", SymTab); // Set name to "", removing from symbol table! + V->setName("", &SymTab); // Set name to "", removing from symbol table! RemovedSymbol = true; assert(Plane.begin() != B && "Symbol not removed from table!"); } |

