- 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

@@ -105,11 +105,11 @@ void BasicBlock::setParent(Function *parent) {
// Specialize setName to take care of symbol table majik
void BasicBlock::setName(const std::string &name, SymbolTable *ST) {
Function *P;
assert((ST == 0 || (!getParent() || ST == getParent()->getSymbolTable())) &&
assert((ST == 0 || (!getParent() || ST == &getParent()->getSymbolTable())) &&
"Invalid symtab argument!");
if ((P = getParent()) && hasName()) P->getSymbolTable()->remove(this);
if ((P = getParent()) && hasName()) P->getSymbolTable().remove(this);
Value::setName(name);
if (P && hasName()) P->getSymbolTable()->insert(this);
if (P && hasName()) P->getSymbolTable().insert(this);
}
TerminatorInst *BasicBlock::getTerminator() {