llvm-project/llvm/test/DebugInfo
David Blaikie 6a150a87ef DebugInfo: Elide lexical scopes which only contain other (inline or lexical) scopes.
DW_TAG_lexical_scopes inform debuggers about the instruction range for
which a given variable (or imported declaration/module/etc) is valid. If
the scope doesn't itself contain any such entities, it's a waste of
space and should be omitted.

We were correctly doing this for entirely empty leaves, but not for
intermediate nodes.

Reduces total (not just debug sections) .o file size for a bootstrap
-gmlt LLVM by 22% and bootstrap -gmlt clang executable by 13%. The wins
for a full -g build will be less as a % (and in absolute terms), but
should still be substantial - with some of that win being fewer
relocations, thus more substantiall reducing link times than fewer bytes
alone would have.

llvm-svn: 216861
2014-08-31 21:26:22 +00:00
..
AArch64 Emit DWARF3 call frame information when DWARF3+ debug info is requested 2014-06-19 15:39:33 +00:00
ARM Make these regexes stricter by disallowing any additional characters in the output. 2014-08-07 23:04:07 +00:00
COFF Use DILexicalBlockFile, rather than DILexicalBlock, to track discriminator changes to ensure discriminator changes don't introduce new DWARF DW_TAG_lexical_blocks. 2014-08-21 22:45:21 +00:00
Inputs [DWARF parser] Fix broken address ranges construction. 2014-06-12 23:58:49 +00:00
Mips Reduce verbiage of lit.local.cfg files 2014-06-09 22:42:55 +00:00
PowerPC Reduce verbiage of lit.local.cfg files 2014-06-09 22:42:55 +00:00
Sparc Reduce verbiage of lit.local.cfg files 2014-06-09 22:42:55 +00:00
SystemZ [SystemZ] Fix FPR dwarf numbering 2014-07-10 10:45:11 +00:00
X86 DebugInfo: Elide lexical scopes which only contain other (inline or lexical) scopes. 2014-08-31 21:26:22 +00:00
2009-10-16-Phi.ll
2009-11-03-InsertExtractValue.ll Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
2009-11-05-DeadGlobalVariable.ll Fix typos 2014-06-19 19:41:26 +00:00
2009-11-06-NamelessGlobalVariable.ll DebugInfo: Assert that a CU's subprogram list contains only subprograms. 2014-05-14 21:52:37 +00:00
2009-11-10-CurrentFn.ll DebugInfo: Remove some unneeded conditionals now that DIBuilder no longer emits zero-length arrays as {i32 0} 2014-02-04 01:23:52 +00:00
2010-01-05-DbgScope.ll Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
2010-03-12-llc-crash.ll Debug Info: add an identifier field to DICompositeType. 2013-08-26 22:39:55 +00:00
2010-03-19-DbgDeclare.ll No need for those tests to go thru llvm-as and/or llvm-dis. 2014-05-27 22:03:28 +00:00
2010-03-24-MemberFn.ll Reland r200340 - 'Add line table debug info to COFF files when using a win32 triple' 2014-01-30 01:39:17 +00:00
2010-03-30-InvalidDbgInfoCrash.ll Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
2010-04-06-NestedFnDbgInfo.ll DebugInfo: Lazily attach definition attributes to definitions. 2014-05-27 18:37:43 +00:00
2010-04-19-FramePtr.ll Reland r200340 - 'Add line table debug info to COFF files when using a win32 triple' 2014-01-30 01:39:17 +00:00
2010-05-03-DisableFramePtr.ll Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
2010-05-03-OriginDIE.ll Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
2010-05-10-MultipleCU.ll Reland r200340 - 'Add line table debug info to COFF files when using a win32 triple' 2014-01-30 01:39:17 +00:00
2010-06-29-InlinedFnLocalVar.ll DebugInfo: Remove some unneeded conditionals now that DIBuilder no longer emits zero-length arrays as {i32 0} 2014-02-04 01:23:52 +00:00
2010-07-19-Crash.ll DebugInfo: Assume the CU's Subprogram list only contains definitions. 2014-05-16 18:26:53 +00:00
2010-10-01-crash.ll Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
PR20038.ll DebugInfo: Elide lexical scopes which only contain other (inline or lexical) scopes. 2014-08-31 21:26:22 +00:00
arm-relocs.test Add support for the R_ARM_ABS32 relocation. 2014-04-03 02:27:00 +00:00
array.ll Reland r200340 - 'Add line table debug info to COFF files when using a win32 triple' 2014-01-30 01:39:17 +00:00
bug_null_debuginfo.ll Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
constant-pointers.ll PR19767: DebugInfo emission of pointer constants. 2014-05-20 18:21:51 +00:00
cross-cu-inlining.ll Try out FileCheck's new (in r212810) -implicit-check-not in a DebugInfo test. 2014-07-15 21:06:37 +00:00
cross-cu-linkonce-distinct.ll Recommit r212203: Don't try to construct debug LexicalScopes hierarchy for functions that do not have top level debug information. 2014-07-25 16:10:16 +00:00
cross-cu-linkonce.ll This test case doesn't actually need the inliner to reproduce the input. 2014-07-10 22:57:40 +00:00
cu-line-tables.ll DebugInfo: Make a test more portable 2014-08-07 03:47:28 +00:00
cu-range-hole.ll Reapply DW_AT_low/high_pc patch: 2014-03-20 19:16:16 +00:00
cu-ranges.ll Reapply DW_AT_low/high_pc patch: 2014-03-20 19:16:16 +00:00
dead-argument-order.ll DebugInfo: Following up to r209677, refactor local variable emission to delay the choice between emitting the definition attributes or using DW_AT_abstract_definition 2014-06-13 22:18:23 +00:00
debug-info-qualifiers.ll DebugInfo: Lazily construct subprogram definition DIEs. 2014-05-27 18:37:48 +00:00
debuginfofinder-multiple-cu.ll Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
debuglineinfo.test
dwarf-public-names.ll DebugInfo: Use the scope of the function declaration, if any, to name a function in DWARF pubnames 2014-06-06 22:29:05 +00:00
dwarfdump-debug-frame-simple.test Previously, parsing capability of the .debug_frame section was added 2013-02-21 22:53:19 +00:00
dwarfdump-debug-loc-simple.test Spell correct (s/begining/beginning/) 2013-06-19 21:42:05 +00:00
dwarfdump-dump-flags.test
dwarfdump-line-dwo.test llvm-dwarfdump: Support for debug_line.dwo section for file names for type units under fission. 2014-02-24 23:58:54 +00:00
dwarfdump-pubnames.test DebugInfo: Make pubnames header printing similar to unit header printing 2013-11-01 17:53:30 +00:00
dwarfdump-ranges.test Kill symbolization functionality in llvm-dwarfdump. We have llvm-symbolizer for that. 2014-05-19 18:45:32 +00:00
dwarfdump-type-units.test llvm-dwarfdump: support for emitting only the debug_types section using -debug-dump 2013-11-19 00:29:42 +00:00
dwarfdump-zlib.test Kill symbolization functionality in llvm-dwarfdump. We have llvm-symbolizer for that. 2014-05-19 18:45:32 +00:00
empty.ll DebugInfo: Add fission-related sections to COFF 2014-03-26 03:05:10 +00:00
enum-types.ll [Debug Info] unique MDNodes in the enum types of each compile unit. 2014-07-28 23:04:20 +00:00
enum.ll DebugInfo: Remove some unneeded conditionals now that DIBuilder no longer emits zero-length arrays as {i32 0} 2014-02-04 01:23:52 +00:00
global.ll Move test so that it is skipped if the ARM target is not enabled. 2014-06-20 15:30:38 +00:00
incorrect-variable-debugloc.ll DebugInfo: Assert that DbgVariables have associated DIEs 2014-06-01 03:38:13 +00:00
inheritance.ll Debug Info Testing: update context from empty string to null. 2013-09-08 03:11:54 +00:00
inline-debug-info-multiret.ll Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
inline-debug-info.ll Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
inline-no-debug-info.ll Improve the test for inlining of __no_debug__ functions. 2014-06-11 08:46:45 +00:00
inline-scopes.ll Use DILexicalBlockFile, rather than DILexicalBlock, to track discriminator changes to ensure discriminator changes don't introduce new DWARF DW_TAG_lexical_blocks. 2014-08-21 22:45:21 +00:00
inlined-arguments.ll DebugInfo: Assert that any CU for which debug_loc lists are emitted, has at least one range. 2014-08-06 00:21:25 +00:00
inlined-vars.ll DwarfDebug: Avoid an extra map lookup while constructing abstract scope DIEs and reduce nesting/conditionals. 2014-05-12 18:23:35 +00:00
llvm-symbolizer-zlib.test Kill symbolization functionality in llvm-dwarfdump. We have llvm-symbolizer for that. 2014-05-19 18:45:32 +00:00
llvm-symbolizer.test [DWARF parser] Fix broken address ranges construction. 2014-06-12 23:58:49 +00:00
lto-comp-dir.ll Add comments from Eric's review of r204094. 2014-03-20 17:05:45 +00:00
member-order.ll DebugInfo: Remove some unneeded conditionals now that DIBuilder no longer emits zero-length arrays as {i32 0} 2014-02-04 01:23:52 +00:00
member-pointers.ll DebugInfo: Remove some unneeded conditionals now that DIBuilder no longer emits zero-length arrays as {i32 0} 2014-02-04 01:23:52 +00:00
missing-abstract-variable.ll DebugInfo: Elide lexical scopes which only contain other (inline or lexical) scopes. 2014-08-31 21:26:22 +00:00
namespace.ll DebugInfo: Lazily construct subprogram definition DIEs. 2014-05-27 18:37:48 +00:00
namespace_function_definition.ll DebugInfo: Lazily attach definition attributes to definitions. 2014-05-27 18:37:43 +00:00
namespace_inline_function_definition.ll DebugInfo: Put concrete definitions referencing abstract definitions in the same scope as the abstract definition. 2014-05-23 20:25:15 +00:00
nodebug.ll Recommit r212203: Don't try to construct debug LexicalScopes hierarchy for functions that do not have top level debug information. 2014-07-25 16:10:16 +00:00
restrict.ll PR13337: Omit DW_TAG_restrict_type when compiling for DWARF2 2014-04-12 05:35:59 +00:00
sugared-constants.ll DebugInfo: Handle emitting constants of C++ unicode character type. 2014-05-16 21:53:09 +00:00
template-recursive-void.ll DebugInfo: Remove some unneeded conditionals now that DIBuilder no longer emits zero-length arrays as {i32 0} 2014-02-04 01:23:52 +00:00
tu-composite.ll DebugInfo: Remove some unneeded conditionals now that DIBuilder no longer emits zero-length arrays as {i32 0} 2014-02-04 01:23:52 +00:00
tu-member-pointer.ll DebugInfo: Remove some unneeded conditionals now that DIBuilder no longer emits zero-length arrays as {i32 0} 2014-02-04 01:23:52 +00:00
two-cus-from-same-file.ll DebugInfo: Assert that any CU for which debug_loc lists are emitted, has at least one range. 2014-08-06 00:21:25 +00:00
typedef.ll DebugInfo: Correct the attribute type kind. 2014-05-01 18:31:21 +00:00
unconditional-branch.ll X86MCAsmInfoGNUCOFF: Set PointerSize as 8 for targeting x64. It caused DW_LNE_set_address was misemitted on x64. 2014-04-08 15:28:50 +00:00
varargs.ll [Debug Info] remove DITrivialType and use null to represent unspecified param. 2014-07-29 18:20:39 +00:00
version.ll DebugInfo: Remove some unneeded conditionals now that DIBuilder no longer emits zero-length arrays as {i32 0} 2014-02-04 01:23:52 +00:00