Remove UpdateCompletedType from the debug info emission. We now
emit less than complete types on purpose on occasion and so our caches aren't useful for this kind of lazy emitting. llvm-svn: 150856
This commit is contained in:
parent
f0cccf5bdb
commit
71006f2378
|
@ -2562,17 +2562,3 @@ CGDebugInfo::getOrCreateNameSpace(const NamespaceDecl *NSDecl) {
|
|||
NameSpaceCache[NSDecl] = llvm::WeakVH(NS);
|
||||
return NS;
|
||||
}
|
||||
|
||||
/// UpdateCompletedType - Update type cache because the type is now
|
||||
/// translated.
|
||||
void CGDebugInfo::UpdateCompletedType(const TagDecl *TD) {
|
||||
QualType Ty = CGM.getContext().getTagDeclType(TD);
|
||||
|
||||
// If the type exist in type cache then remove it from the cache.
|
||||
// There is no need to prepare debug info for the completed type
|
||||
// right now. It will be generated on demand lazily.
|
||||
llvm::DenseMap<void *, llvm::WeakVH>::iterator it =
|
||||
TypeCache.find(Ty.getAsOpaquePtr());
|
||||
if (it != TypeCache.end())
|
||||
TypeCache.erase(it);
|
||||
}
|
||||
|
|
|
@ -178,10 +178,6 @@ public:
|
|||
/// EmitFunctionEnd - Constructs the debug code for exiting a function.
|
||||
void EmitFunctionEnd(CGBuilderTy &Builder);
|
||||
|
||||
/// UpdateCompletedType - Update type cache because the type is now
|
||||
/// translated.
|
||||
void UpdateCompletedType(const TagDecl *TD);
|
||||
|
||||
/// EmitLexicalBlockStart - Emit metadata to indicate the beginning of a
|
||||
/// new lexical block and push the block onto the stack.
|
||||
void EmitLexicalBlockStart(CGBuilderTy &Builder, SourceLocation Loc);
|
||||
|
|
|
@ -173,8 +173,6 @@ void CodeGenModule::Release() {
|
|||
void CodeGenModule::UpdateCompletedType(const TagDecl *TD) {
|
||||
// Make sure that this type is translated.
|
||||
Types.UpdateCompletedType(TD);
|
||||
if (DebugInfo)
|
||||
DebugInfo->UpdateCompletedType(TD);
|
||||
}
|
||||
|
||||
llvm::MDNode *CodeGenModule::getTBAAInfo(QualType QTy) {
|
||||
|
|
Loading…
Reference in New Issue