summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGDebugInfo.cpp
diff options
context:
space:
mode:
authorAdrian Prantl <aprantl@apple.com>2015-09-24 16:10:00 +0000
committerAdrian Prantl <aprantl@apple.com>2015-09-24 16:10:00 +0000
commit6083b08580185643561b34166a98d7315b2981b8 (patch)
tree6b23f3e66f94707398b2aeb252e9af1e85d941a5 /clang/lib/CodeGen/CGDebugInfo.cpp
parentb6be1ebb7d53475c4edd88131efd52a84e1b6b23 (diff)
downloadbcm5719-llvm-6083b08580185643561b34166a98d7315b2981b8.tar.gz
bcm5719-llvm-6083b08580185643561b34166a98d7315b2981b8.zip
Refactor ASTSourceDescriptor to not store copies of all strings. (NFC)
llvm-svn: 248509
Diffstat (limited to 'clang/lib/CodeGen/CGDebugInfo.cpp')
-rw-r--r--clang/lib/CodeGen/CGDebugInfo.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/clang/lib/CodeGen/CGDebugInfo.cpp b/clang/lib/CodeGen/CGDebugInfo.cpp
index 72ddf4efc7c..04d6876076b 100644
--- a/clang/lib/CodeGen/CGDebugInfo.cpp
+++ b/clang/lib/CodeGen/CGDebugInfo.cpp
@@ -1676,7 +1676,8 @@ llvm::DIType *CGDebugInfo::CreateType(const ObjCInterfaceType *Ty,
llvm::DIModule *
CGDebugInfo::getOrCreateModuleRef(ExternalASTSource::ASTSourceDescriptor Mod,
bool CreateSkeletonCU) {
- auto &ModRef = ModuleRefCache[Mod.FullModuleName];
+ std::string FullModuleName = Mod.getFullModuleName();
+ auto &ModRef = ModuleRefCache[FullModuleName];
if (ModRef)
return cast<llvm::DIModule>(ModRef);
@@ -1705,14 +1706,14 @@ CGDebugInfo::getOrCreateModuleRef(ExternalASTSource::ASTSourceDescriptor Mod,
if (CreateSkeletonCU) {
llvm::DIBuilder DIB(CGM.getModule());
- DIB.createCompileUnit(TheCU->getSourceLanguage(), Mod.FullModuleName,
- Mod.Path, TheCU->getProducer(), true, StringRef(), 0,
- Mod.ASTFile, llvm::DIBuilder::FullDebug,
- Mod.Signature);
+ DIB.createCompileUnit(TheCU->getSourceLanguage(), FullModuleName,
+ Mod.getPath(), TheCU->getProducer(), true,
+ StringRef(), 0, Mod.getASTFile(),
+ llvm::DIBuilder::FullDebug, Mod.getSignature());
DIB.finalize();
}
llvm::DIModule *M =
- DBuilder.createModule(TheCU, Mod.FullModuleName, ConfigMacros, Mod.Path,
+ DBuilder.createModule(TheCU, FullModuleName, ConfigMacros, Mod.getPath(),
CGM.getHeaderSearchOpts().Sysroot);
ModRef.reset(M);
return M;
OpenPOWER on IntegriCloud