Debug info: Unique types before emitting them to DWARF, where applicable.
llvm-svn: 203983
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
index 836beb8..0b72e96 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
@@ -958,6 +958,9 @@
DIE *ContextDIE = getOrCreateContextDIE(Context);
assert(ContextDIE);
+ // Unique the type. This is a noop if the type has no unique identifier.
+ Ty = DIType(resolve(Ty.getRef()));
+
DIE *TyDIE = getDIE(Ty);
if (TyDIE)
return TyDIE;