simplify code, reducing string thrashing.
authorChris Lattner <sabre@nondot.org>
Mon, 19 Oct 2009 18:49:14 +0000 (18:49 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 19 Oct 2009 18:49:14 +0000 (18:49 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84521 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp

index 32a8f5e77fd1b26a910aa4acb142be6a483c23af..6d4a05f6cbe7d2a53aeddcbfbd2fc6169868a8ce 100644 (file)
@@ -157,26 +157,16 @@ namespace {
           // FIXME: Remove this when Darwin transition to @GOT like syntax.
           Name = Mang->getMangledName(GV, "$non_lazy_ptr", true);
           MCSymbol *Sym = OutContext.GetOrCreateSymbol(Name.c_str());
-
-          if (GV->hasHiddenVisibility()) {
-            const MCSymbol *&StubSym =
-              MMI->getObjFileInfo<MachineModuleInfoMachO>()
-                       .getHiddenGVStubEntry(Sym);
-            if (StubSym == 0) {
-              //NameStr.clear();
-              //Mang->getNameWithPrefix(NameStr, GV, false);
-              std::string SymName = Mang->getMangledName(GV);
-              StubSym = OutContext.GetOrCreateSymbol(SymName.c_str());
-            }
-          } else {
-            const MCSymbol *&StubSym =
-              MMI->getObjFileInfo<MachineModuleInfoMachO>().getGVStubEntry(Sym);
-            if (StubSym == 0) {
-              //NameStr.clear();
-              //Mang->getNameWithPrefix(NameStr, GV, false);
-              std::string SymName = Mang->getMangledName(GV);
-              StubSym = OutContext.GetOrCreateSymbol(SymName.c_str());
-            }
+          
+          MachineModuleInfoMachO &MMIMachO =
+            MMI->getObjFileInfo<MachineModuleInfoMachO>();
+          const MCSymbol *&StubSym =
+            GV->hasHiddenVisibility() ? MMIMachO.getHiddenGVStubEntry(Sym) :
+                                        MMIMachO.getGVStubEntry(Sym);
+          if (StubSym == 0) {
+            SmallString<128> NameStr;
+            Mang->getNameWithPrefix(NameStr, GV, false);
+            StubSym = OutContext.GetOrCreateSymbol(NameStr.str());
           }
         }
       } else