]> granicus.if.org Git - clang/commitdiff
set function/global names with setName instead of passing the name into the
authorChris Lattner <sabre@nondot.org>
Sun, 22 Mar 2009 00:12:30 +0000 (00:12 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 22 Mar 2009 00:12:30 +0000 (00:12 +0000)
ctor function.  This avoids creating a temporary std::string for the name,
speeding up the testcase in PR3810 by 3.8%

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67457 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CodeGenModule.cpp

index b259a5dc2cf897ecfd14fd13d03a4e16120815dd..4cd046d74edeb7f77b983e6954ddedb1b1db330a 100644 (file)
@@ -630,7 +630,8 @@ llvm::Constant *CodeGenModule::GetAddrOfFunction(const FunctionDecl *D,
   }
   llvm::Function *F = llvm::Function::Create(cast<llvm::FunctionType>(Ty), 
                                              llvm::Function::ExternalLinkage,
-                                             MangledName, &getModule());
+                                             "", &getModule());
+  F->setName(MangledName);
   if (ShouldSetAttributes)
     SetFunctionAttributes(D, F);
   Entry = F;
@@ -677,8 +678,9 @@ llvm::Constant *CodeGenModule::GetAddrOfGlobalVar(const VarDecl *D,
   llvm::GlobalVariable *GV = 
     new llvm::GlobalVariable(Ty, false, 
                              llvm::GlobalValue::ExternalLinkage,
-                             0, MangledName, &getModule(), 
+                             0, "", &getModule(), 
                              0, ASTTy.getAddressSpace());
+  GV->setName(MangledName);
 
   // Handle things which are present even on external declarations.