llvm-6502/test/DebugInfo
David Blaikie 9e4e3d057f Omit DW_TAG_subprograms for subprograms without inlined subroutines when producing -gmlt data
To reduce the size of -gmlt data, skip the subprograms without any
inlined subroutines. Since we've now got the ability to make these
determinations in the backend (funnily enough - we added the flag so we
wouldn't produce ranges under -gmlt, but with this change we use the
flag, but go back to producing ranges under -gmlt).

Instead, just produce CU ranges to inform the consumer which parts of
the code are described by this CU's line table. Tools could inspect the
line table directly to compute the range, but the CU ranges only seem to
be about 0.5% of object/executable size, so I'm not too worried about
teaching llvm-symbolizer that trick just yet - it's certainly a possible
piece of future work.

Update an llvm-symbolizer test just to demonstrate that this schema is
acceptable there (if it wasn't, the compiler-rt tests would catch this,
but good to have an in-llvm-tree test for llvm-symbolizer's behavior
here)

Building the clang binary with -gmlt with this patch reduces the total
size of object files by 5.1% (5.56% without ranges) without compression
and the executable by 4.37% (4.75% without ranges).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218129 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-19 17:03:16 +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 Omit DW_TAG_subprograms for subprograms without inlined subroutines when producing -gmlt data 2014-09-19 17:03:16 +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: Do not use DW_FORM_GNU_addr_index in skeleton CUs, GDB 7.8 errors on this. 2014-09-07 17:31:42 +00:00
2009-10-16-Phi.ll
2009-11-03-InsertExtractValue.ll
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
2010-01-05-DbgScope.ll
2010-03-12-llc-crash.ll
2010-03-19-DbgDeclare.ll Reapply "[dwarfdump] Add missing DW_LANG_Mips_Assembler case to LanguageString()" 2014-09-05 07:21:40 +00:00
2010-03-24-MemberFn.ll
2010-03-30-InvalidDbgInfoCrash.ll
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
2010-05-03-DisableFramePtr.ll
2010-05-03-OriginDIE.ll
2010-05-10-MultipleCU.ll
2010-06-29-InlinedFnLocalVar.ll
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
arm-relocs.test Add support for the R_ARM_ABS32 relocation. 2014-04-03 02:27:00 +00:00
array.ll
bug_null_debuginfo.ll
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-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
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
dwarfdump-debug-loc-simple.test
dwarfdump-dump-flags.test
dwarfdump-line-dwo.test
dwarfdump-pubnames.test
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
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
global.ll Move test so that it is skipped if the ARM target is not enabled. 2014-06-20 15:30:38 +00:00
gmlt.ll Omit DW_TAG_subprograms for subprograms without inlined subroutines when producing -gmlt data 2014-09-19 17:03:16 +00:00
incorrect-variable-debugloc.ll DebugInfo: Assert that DbgVariables have associated DIEs 2014-06-01 03:38:13 +00:00
inheritance.ll
inline-debug-info-multiret.ll
inline-debug-info.ll
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 Omit DW_TAG_subprograms for subprograms without inlined subroutines when producing -gmlt data 2014-09-19 17:03:16 +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
member-pointers.ll
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_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
namespace.ll [dwarfdump] Dump DW_AT_(decl|call)_line attribute values as decimal values. 2014-09-05 07:21:50 +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
PR20038.ll DebugInfo: Elide lexical scopes which only contain other (inline or lexical) scopes. 2014-08-31 21:26:22 +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
tu-composite.ll
tu-member-pointer.ll
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