llvm-project/llvm/test/DebugInfo/COFF
Zachary Turner a7b041748d [CodeView] Don't output S_UDT symbols for forward decls.
S_UDT symbols are the debugger's "index" for all the structs,
typedefs, classes, and enums in a program.  If any of those
structs/classes don't have a complete declaration, or if there
is a typedef to something that doesn't have a complete definition,
then emitting the S_UDT is unhelpful because it doesn't give
the debugger enough information to do anything useful.  On the
other hand, it results in a huge size blow-up in the resulting
PDB, which is exacerbated by an order of magnitude when linking
with /DEBUG:FASTLINK.

With this patch, we drop S_UDT records for types that refer either
directly or indirectly (e.g. through a typedef, pointer, etc) to
a class/struct/union/enum without a complete definition.  This
brings us about 50% of the way towards parity with /DEBUG:FASTLINK
PDBs generated from cl-compiled object files.

Differential Revision: https://reviews.llvm.org/D37162

llvm-svn: 311904
2017-08-28 18:49:04 +00:00
..
anonymous-struct.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
array-odr-violation.ll IR: Replace the "Linker Options" module flag with "llvm.linker.options" named metadata. 2017-06-12 20:10:48 +00:00
asan-module-ctor.ll
asan-module-without-functions.ll
asm.ll [codeview] Change readobj symbol dumping format 2017-07-11 23:41:41 +00:00
big-type.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
bitfields.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
comdat.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
cpp-mangling.ll [codeview] Change readobj symbol dumping format 2017-07-11 23:41:41 +00:00
defer-complete-type.ll [codeview] Write LF_UDT_SRC_LINE records (PR28251) 2016-06-22 21:22:13 +00:00
dlang.ll Followup to r308890: don't assert the llvm llvm version number. 2017-07-24 19:44:43 +00:00
enum.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
fp-stack.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
global-dllimport.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
globals-discarded.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
globals.ll [codeview] Change readobj symbol dumping format 2017-07-11 23:41:41 +00:00
inheritance.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
inlining-files.ll [codeview] Change readobj symbol dumping format 2017-07-11 23:41:41 +00:00
inlining-header.ll [codeview] Change readobj symbol dumping format 2017-07-11 23:41:41 +00:00
inlining-levels.ll [codeview] Change readobj symbol dumping format 2017-07-11 23:41:41 +00:00
inlining-padding.ll
inlining-same-name.ll [codeview] Change readobj symbol dumping format 2017-07-11 23:41:41 +00:00
inlining.ll [codeview] Change readobj symbol dumping format 2017-07-11 23:41:41 +00:00
int8-char-type.ll [codeview] Change readobj symbol dumping format 2017-07-11 23:41:41 +00:00
lines-bb-start.ll [codeview] Ignore DBG_VALUEs when choosing a BB start source loc 2017-07-31 21:03:08 +00:00
lit.local.cfg
local-constant.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
local-variable-gap.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
local-variables.ll [DebugInfo] Don't turn dbg.declare into DBG_VALUE for static allocas 2017-08-01 19:45:09 +00:00
long-name.ll [codeview] Change readobj symbol dumping format 2017-07-11 23:41:41 +00:00
long-type-name.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
multifile.ll [codeview] Change readobj symbol dumping format 2017-07-11 23:41:41 +00:00
multifunction.ll [codeview] Change readobj symbol dumping format 2017-07-11 23:41:41 +00:00
nested-types.ll [codeview] Emit nested enums and typedefs from classes 2017-08-08 20:30:14 +00:00
no-cus.ll [codeview] Fix assertion failure introduced in r295354 refactoring 2017-05-12 17:02:40 +00:00
parameter-order.ll [codeview] Emit parameter variables in the right order 2016-06-24 17:55:40 +00:00
pieces.ll Remove PrologEpilogInserter's usage of DBG_VALUE's offset field 2017-08-01 21:45:24 +00:00
pr28747.ll Emit S_COMPILE3 record once per TU rather than once per function 2016-11-02 21:30:35 +00:00
purge-typedef-udts.ll [CodeView] Don't output S_UDT symbols for forward decls. 2017-08-28 18:49:04 +00:00
register-variables.ll [X86] Qualify the RMW INC/DEC patterns with NotSlowIncDec. 2017-08-26 06:24:25 +00:00
retained-types.ll [codeview] Fix letter casing in FileCheck regexes 2016-06-23 18:23:28 +00:00
scopes.ll Remove line and file from DINamespace. 2017-04-28 22:25:46 +00:00
simple.ll [codeview] Change readobj symbol dumping format 2017-07-11 23:41:41 +00:00
synthetic.ll DebugInfo: elide type index entries for synthetic types 2017-05-03 21:39:01 +00:00
tail-call-without-lexical-scopes.ll
typedef.ll [codeview] Change readobj symbol dumping format 2017-07-11 23:41:41 +00:00
types-array-advanced.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
types-array.ll [codeview] Change readobj symbol dumping format 2017-07-11 23:41:41 +00:00
types-basic.ll [codeview] Change readobj symbol dumping format 2017-07-11 23:41:41 +00:00
types-calling-conv.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
types-data-members.ll MC/COFF: Do not emit forward associative section referenceds. 2017-02-17 17:32:54 +00:00
types-nested-class.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
types-non-virtual-methods.ll [codeview] Write LF_UDT_SRC_LINE records (PR28251) 2016-06-22 21:22:13 +00:00
types-ptr-to-member.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
types-recursive-struct.ll [codeview] Write LF_UDT_SRC_LINE records (PR28251) 2016-06-22 21:22:13 +00:00
udts.ll [codeview] Change readobj symbol dumping format 2017-07-11 23:41:41 +00:00
vftables.ll [codeview] Emit vtable shape information 2016-08-31 15:59:30 +00:00
virtual-method-kinds.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
virtual-methods.ll Resubmit "Write the TPI stream from a PDB to Yaml." 2016-08-18 16:49:29 +00:00
vtable-optzn-array.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00