From 7a7433b56a7ce32b604a124f97676196d2399117 Mon Sep 17 00:00:00 2001 From: Adrian Prantl Date: Fri, 11 Sep 2015 18:45:02 +0000 Subject: [PATCH] Cleanup: Get rid of a bunch of unnecessary invocations of internString() in CGDebugInfo.cpp: MDString::get() copies its arguments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247445 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/CGDebugInfo.cpp | 35 ++++++++++++++--------------------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/lib/CodeGen/CGDebugInfo.cpp b/lib/CodeGen/CGDebugInfo.cpp index 38be54ea75..a24934e624 100644 --- a/lib/CodeGen/CGDebugInfo.cpp +++ b/lib/CodeGen/CGDebugInfo.cpp @@ -345,13 +345,6 @@ void CGDebugInfo::CreateCompileUnit() { } } - // Save filename string. - StringRef Filename = internString(MainFileName); - - // Save split dwarf file string. - std::string SplitDwarfFile = CGM.getCodeGenOpts().SplitDwarfFile; - StringRef SplitDwarfFilename = internString(SplitDwarfFile); - llvm::dwarf::SourceLanguage LangTag; const LangOptions &LO = CGM.getLangOpts(); if (LO.CPlusPlus) { @@ -377,13 +370,13 @@ void CGDebugInfo::CreateCompileUnit() { // Create new compile unit. // FIXME - Eliminate TheCU. TheCU = DBuilder.createCompileUnit( - LangTag, Filename, getCurrentDirname(), Producer, LO.Optimize, - CGM.getCodeGenOpts().DwarfDebugFlags, RuntimeVers, SplitDwarfFilename, + LangTag, MainFileName, getCurrentDirname(), Producer, LO.Optimize, + CGM.getCodeGenOpts().DwarfDebugFlags, RuntimeVers, + CGM.getCodeGenOpts().SplitDwarfFile, DebugKind <= CodeGenOptions::DebugLineTablesOnly ? llvm::DIBuilder::LineTablesOnly : llvm::DIBuilder::FullDebug, - 0 /* DWOid */, - DebugKind != CodeGenOptions::LocTrackingOnly); + 0 /* DWOid */, DebugKind != CodeGenOptions::LocTrackingOnly); } llvm::DIType *CGDebugInfo::CreateType(const BuiltinType *BT) { @@ -775,9 +768,9 @@ llvm::DIType *CGDebugInfo::CreateType(const TemplateSpecializationType *Ty, Ty->getTemplateName().getAsTemplateDecl())->getTemplatedDecl(); SourceLocation Loc = AliasDecl->getLocation(); - return DBuilder.createTypedef( - Src, internString(OS.str()), getOrCreateFile(Loc), getLineNumber(Loc), - getDeclContextDescriptor(AliasDecl)); + return DBuilder.createTypedef(Src, OS.str(), getOrCreateFile(Loc), + getLineNumber(Loc), + getDeclContextDescriptor(AliasDecl)); } llvm::DIType *CGDebugInfo::CreateType(const TypedefType *Ty, @@ -1688,13 +1681,13 @@ CGDebugInfo::getOrCreateModuleRef(ExternalASTSource::ASTSourceDescriptor Mod) { } } llvm::DIBuilder DIB(CGM.getModule()); - auto *CU = DIB.createCompileUnit( - TheCU->getSourceLanguage(), internString(Mod.ModuleName), - internString(Mod.Path), TheCU->getProducer(), true, StringRef(), 0, - internString(Mod.ASTFile), llvm::DIBuilder::FullDebug, Mod.Signature); - llvm::DIModule *M = DIB.createModule( - CU, Mod.ModuleName, ConfigMacros, internString(Mod.Path), - internString(CGM.getHeaderSearchOpts().Sysroot)); + auto *CU = DIB.createCompileUnit(TheCU->getSourceLanguage(), Mod.ModuleName, + Mod.Path, TheCU->getProducer(), true, + StringRef(), 0, Mod.ASTFile, + llvm::DIBuilder::FullDebug, Mod.Signature); + llvm::DIModule *M = + DIB.createModule(CU, Mod.ModuleName, ConfigMacros, Mod.Path, + CGM.getHeaderSearchOpts().Sysroot); DIB.finalize(); ModRef.reset(M); return M; -- 2.40.0