Avoid creating the symbol table if we don't need it.
authorChris Lattner <sabre@nondot.org>
Wed, 22 May 2002 22:53:05 +0000 (22:53 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 22 May 2002 22:53:05 +0000 (22:53 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2728 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/ValueHolderImpl.h

index 3f20a173e91b48b56149c6ae0ee77e57b5f5a32d..6c447718c6571ab45dae798006a0660744a01150 100644 (file)
@@ -16,7 +16,7 @@
 template<class ValueSubclass, class ItemParentType, class SymTabType>
 void ValueHolder<ValueSubclass,ItemParentType,SymTabType>
 ::setParent(SymTabType *P) { 
-  if (Parent) {     // Remove all of the items from the old symbol table..
+  if (Parent && !empty()) {  // Remove all of the items from the old symtab..
     SymbolTable *SymTab = Parent->getSymbolTable();
     for (iterator I = begin(); I != end(); ++I)
       if ((*I)->hasName()) SymTab->remove(*I);
@@ -24,7 +24,7 @@ void ValueHolder<ValueSubclass,ItemParentType,SymTabType>
 
   Parent = P; 
 
-  if (Parent) {     // Remove all of the items from the old symbol table..
+  if (Parent && !empty()) {  // Add all of the items to the new symtab...
     SymbolTable *SymTab = Parent->getSymbolTableSure();
     for (iterator I = begin(); I != end(); ++I)
       if ((*I)->hasName()) SymTab->insert(*I);