don't call getNameWithPrefix repeatedly and unnecesarily.
authorChris Lattner <sabre@nondot.org>
Wed, 13 Jan 2010 19:05:36 +0000 (19:05 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 13 Jan 2010 19:05:36 +0000 (19:05 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93333 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp

index 93019d067cb05a61d27dd65b3bd3019f76a3abb9..da29572676153c26983554917b4637042387fc48 100644 (file)
@@ -69,6 +69,8 @@ namespace {
       void Init(const GlobalValue *GV, Mangler *Mang) {
         // Already initialized.
         if (!StubName.empty()) return;
+
+        // Get the names.
         StubName = Mang->getMangledName(GV, "$stub", true);
         LazyPtrName = Mang->getMangledName(GV, "$lazy_ptr", true);
         AnonSymbolName = Mang->getMangledName(GV, "$stub$tmp", true);
@@ -81,13 +83,13 @@ namespace {
         SmallString<128> TmpStr;
         Mang->getNameWithPrefix(TmpStr, GVName + "$stub", Mangler::Private);
         StubSym = Ctx.GetOrCreateSymbol(TmpStr.str());
-        TmpStr.clear();
-        
-        Mang->getNameWithPrefix(TmpStr, GVName + "$lazy_ptr", Mangler::Private);
+        TmpStr.erase(TmpStr.end()-5, TmpStr.end()); // Remove $stub
+
+        TmpStr += "$lazy_ptr";
         LazyPtrSym = Ctx.GetOrCreateSymbol(TmpStr.str());
-        TmpStr.clear();
+        TmpStr.erase(TmpStr.end()-9, TmpStr.end()); // Remove $lazy_ptr
         
-        Mang->getNameWithPrefix(TmpStr, GVName + "$stub$tmp", Mangler::Private);
+        TmpStr += "$stub$tmp";
         AnonSymbolSym = Ctx.GetOrCreateSymbol(TmpStr.str());
       }