[PATCH] D37162: [CodeView] Don't output S_UDT records for incomplete typedefs

Zachary Turner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 25 12:55:27 PDT 2017


zturner created this revision.
Herald added a subscriber: hiraditya.

Preivously we would output S_UDT records for typedefs that pointed to forward decls.  This does not match the behavior of MSVC, so we update S_UDT records to always point to full decls.  However, there are some cases where a full decl is not available, so in this case we now drop these S_UDT records entirely since they are of no help.  Some tests indicate that this patch closes about 20% of the gap between clang-cl and MSVC in terms of /DEBUG:FASTLINK PDB size.


https://reviews.llvm.org/D37162

Files:
  llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h
  llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
  llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
  llvm/test/DebugInfo/COFF/purge-typedef-udts.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D37162.112731.patch
Type: text/x-patch
Size: 11945 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170825/ccac783f/attachment.bin>


More information about the llvm-commits mailing list