[llvm-commits] CVS: llvm/lib/Linker/LinkModules.cpp
    Chris Lattner 
    sabre at nondot.org
       
    Sat Feb 10 16:39:54 PST 2007
    
    
  
Changes in directory llvm/lib/Linker:
LinkModules.cpp updated: 1.136 -> 1.137
---
Log message:
simplify this code by using value::takename
---
Diffs of the changes:  (+5 -8)
 LinkModules.cpp |   13 +++++--------
 1 files changed, 5 insertions(+), 8 deletions(-)
Index: llvm/lib/Linker/LinkModules.cpp
diff -u llvm/lib/Linker/LinkModules.cpp:1.136 llvm/lib/Linker/LinkModules.cpp:1.137
--- llvm/lib/Linker/LinkModules.cpp:1.136	Mon Feb  5 14:47:20 2007
+++ llvm/lib/Linker/LinkModules.cpp	Sat Feb 10 18:39:38 2007
@@ -337,18 +337,15 @@
   ValueSymbolTable &ST = GV->getParent()->getValueSymbolTable();
 
   // If there is a conflict, rename the conflict.
-  GlobalValue *ConflictGV = cast_or_null<GlobalValue>(ST.lookup(Name));
-  if (ConflictGV) {
+  if (GlobalValue *ConflictGV = cast_or_null<GlobalValue>(ST.lookup(Name))) {
     assert(ConflictGV->hasInternalLinkage() &&
            "Not conflicting with a static global, should link instead!");
-    ConflictGV->setName("");        // Eliminate the conflict
-  }
-  GV->setName(Name);              // Force the name back
-  if (ConflictGV) {
-    ConflictGV->setName(Name);      // This will cause ConflictGV to get renamed
+    GV->takeName(ConflictGV);
+    ConflictGV->setName(Name);    // This will cause ConflictGV to get renamed
     assert(ConflictGV->getName() != Name && "ForceRenaming didn't work");
+  } else {
+    GV->setName(Name);              // Force the name back
   }
-  assert(GV->getName() == Name && "ForceRenaming didn't work");
 }
 
 /// CopyGVAttributes - copy additional attributes (those not needed to construct
    
    
More information about the llvm-commits
mailing list