llvm-project/llvm/test/DebugInfo/X86
David Blaikie 3c2fff3fe6 DebugInfo: Lazily construct subprogram definition DIEs.
A further step to correctly emitting concrete out of line definitions
preceeding inlined instances of the same program.

To do this, emission of subprograms must be delayed until required since
we don't know which (abstract only (if there's no out of line
definition), concrete only (if there are no inlined instances), or both)
DIEs are required at the start of the module.

To reduce the test churn in the following commit that actually fixes the
bug, this commit introduces the lazy DIE construction and cleans up test
cases that are impacted by the changes in the resulting DIE ordering.

llvm-svn: 209675
2014-05-27 18:37:48 +00:00
..
2010-04-13-PubType.ll Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
2010-08-10-DbgConstant.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
2011-09-26-GlobalVarContext.ll DebugInfo: Sure up subprogram variable list handling with more assertions and fewer conditionals. 2014-05-14 21:52:46 +00:00
2011-12-16-BadStructRef.ll DebugInfo: Sure up subprogram variable list handling with more assertions and fewer conditionals. 2014-05-14 21:52:46 +00:00
DW_AT_byte_size.ll DebugInfo: Sure up subprogram variable list handling with more assertions and fewer conditionals. 2014-05-14 21:52:46 +00:00
DW_AT_linkage_name.ll DebugInfo: Generalize some tests to handle variations in attribute ordering. 2014-05-23 21:11:46 +00:00
DW_AT_location-reference.ll Fix llvm-objdump crash. 2014-04-03 23:20:02 +00:00
DW_AT_object_pointer.ll Revert "Emit DW_AT_object_pointer once, on the declaration, for each function." 2014-04-30 22:58:19 +00:00
DW_AT_specification.ll DebugInfo: Simplify subprogram declaration creation/references and accidentally refix PR11300. 2014-05-21 18:04:33 +00:00
DW_AT_stmt_list_sec_offset.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
DW_TAG_friend.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
aligned_stack_var.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
arange.ll Disable emission of aranges by default and add a command line 2014-02-14 01:26:55 +00:00
arguments.ll DebugInfo: Generalize some tests to handle variations in attribute ordering. 2014-05-23 21:11:46 +00:00
array.ll This reapplies r207235 with an additional bugfixes caught by the msan 2014-04-25 20:49:25 +00:00
array2.ll Unbreak the gdb buildbot by not lowering dbg.declare intrinsics for arrays. 2014-04-25 23:00:25 +00:00
block-capture.ll DebugInfo: Generalize a test case to not depend on abbreviation numbering. 2014-05-23 21:07:01 +00:00
byvalstruct.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
c-type-units.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
coff_debug_info_type.ll MC: honour IMAGE_SCN_CNT_INITIALIZED_DATA 2014-04-23 21:29:34 +00:00
coff_relative_names.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
concrete_out_of_line.ll DebugInfo: Lazily construct subprogram definition DIEs. 2014-05-27 18:37:48 +00:00
cu-ranges-odr.ll If we're only emitting line tables for a particular CU then don't add 2014-02-27 01:25:00 +00:00
cu-ranges.ll Move the function and data section flags into the options struct and 2014-05-20 21:25:34 +00:00
data_member_location.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
dbg-at-specficiation.ll DebugInfo: Assert that a CU's subprogram list contains only subprograms. 2014-05-14 21:52:37 +00:00
dbg-byval-parameter.ll Reland r200340 - 'Add line table debug info to COFF files when using a win32 triple' 2014-01-30 01:39:17 +00:00
dbg-const-int.ll Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
dbg-const.ll Debug info: Store the DIVariable in DebugLocEntry also for constants, 2014-04-11 17:49:47 +00:00
dbg-declare-arg.ll DebugInfo: Assume the CU's Subprogram list only contains definitions. 2014-05-16 18:26:53 +00:00
dbg-declare.ll DebugInfo: Sure up subprogram variable list handling with more assertions and fewer conditionals. 2014-05-14 21:52:46 +00:00
dbg-file-name.ll Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
dbg-i128-const.ll Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
dbg-merge-loc-entry.ll Add a DIELoc class to cover the DW_FORM_exprloc set of expressions 2014-02-16 08:46:55 +00:00
dbg-prolog-end.ll Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
dbg-subrange.ll DebugInfo: Sure up subprogram variable list handling with more assertions and fewer conditionals. 2014-05-14 21:52:46 +00:00
dbg-value-const-byref.ll This reapplies r207235 with an additional bugfixes caught by the msan 2014-04-25 20:49:25 +00:00
dbg-value-dag-combine.ll Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
dbg-value-inlined-parameter.ll DebugInfo: Lazily attach definition attributes to definitions. 2014-05-27 18:37:43 +00:00
dbg-value-isel.ll Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
dbg-value-location.ll DebugInfo: Assume all subprogram DIEs have been created before any abstract subprograms are constructed. 2014-05-19 23:16:19 +00:00
dbg-value-range.ll Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
dbg-value-terminator.ll Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
dbg_value_direct.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
debug-dead-local-var.ll Add a comment here. 2014-05-21 00:02:50 +00:00
debug-info-block-captured-self.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
debug-info-blocks.ll DebugInfo: Lazily construct subprogram definition DIEs. 2014-05-27 18:37:48 +00:00
debug-info-static-member.ll DwarfUnit: Share common constant value emission between APInts of small (<= 64 bit) and MCOperand immediates. 2014-05-11 15:47:39 +00:00
debug-loc-offset.ll DebugInfo: Generalize some tests to handle variations in attribute ordering. 2014-05-23 21:11:46 +00:00
debug-ranges-offset.ll Make sure that rangelists are also relative to the compile unit 2014-04-25 22:23:54 +00:00
debug_frame.ll Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
decl-derived-member.ll decl-derived-member.ll: Try to unbreak. Don't add -mtriple to %llc_dwarf. 2014-03-12 23:08:19 +00:00
discriminator.ll Use a fixed subtarget for test so atom scheduling can't change the addresses this test relies on. 2014-03-15 23:01:29 +00:00
dwarf-aranges-no-dwarf-labels.ll Disable emission of aranges by default and add a command line 2014-02-14 01:26:55 +00:00
dwarf-aranges.ll DebugInfo: Improve test to not depend on the specific naming of temporary symbols 2014-03-07 00:23:38 +00:00
dwarf-public-names.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
dwarf-pubnames-split.ll DebugInfo: Refactor emitDebugPubNames/Types into a common implementation 2014-03-11 23:18:15 +00:00
earlydup-crash.ll Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
elf-names.ll DebugInfo: Sure up subprogram variable list handling with more assertions and fewer conditionals. 2014-05-14 21:52:46 +00:00
empty-and-one-elem-array.ll DebugInfo: Lazily attach definition attributes to definitions. 2014-05-27 18:37:43 +00:00
empty-array.ll DebugInfo: Use a 64 bit type for the subrange 2014-04-03 06:28:20 +00:00
ending-run.ll DebugInfo: Sure up subprogram variable list handling with more assertions and fewer conditionals. 2014-05-14 21:52:46 +00:00
enum-class.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
enum-fwd-decl.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
fission-cu.ll DebugInfo: Add GNU_addr_base and GNU_ranges_base only when there are addresses or ranges 2014-03-25 05:34:24 +00:00
fission-hash.ll Turn on hashing by default for split dwarf compile units. 2014-03-12 17:14:43 +00:00
fission-ranges.ll Debug info: Store the DIVariable in DebugLocEntry also for constants, 2014-04-11 17:49:47 +00:00
formal_parameter.ll This reapplies r207235 with an additional bugfixes caught by the msan 2014-04-25 20:49:25 +00:00
generate-odr-hash.ll Revert "DebugInfo: Don't put fission type units in comdat sections." 2014-05-21 23:27:41 +00:00
gnu-public-names-empty.ll DebugInfo: Tag units as having been indexed in GNU pubnames by using a DW_AT_GNU_pubnames of DW_FORM_flag(_present) rather than sec_offsets to the pubnames/types sections 2014-03-06 05:47:39 +00:00
gnu-public-names.ll DebugInfo: Generalize some tests to handle variations in attribute ordering. 2014-05-23 21:11:46 +00:00
inline-member-function.ll DebugInfo: Lazily construct subprogram definition DIEs. 2014-05-27 18:37:48 +00:00
inline-seldag-test.ll DebugInfo: Lazily construct subprogram definition DIEs. 2014-05-27 18:37:48 +00:00
instcombine-instrinsics.ll This reapplies r207235 with an additional bugfixes caught by the msan 2014-04-25 20:49:25 +00:00
lexical_block.ll DebugInfo: Use DW_FORM_data4 for DW_AT_high_pc in DW_TAG_lexical_blocks 2014-03-08 00:58:20 +00:00
line-info.ll Support DWARF discriminators in object streamer. 2014-02-14 19:27:53 +00:00
linkage-name.ll DebugInfo: Sure up subprogram variable list handling with more assertions and fewer conditionals. 2014-05-14 21:52:46 +00:00
lit.local.cfg [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
low-pc-cu.ll Reapply DW_AT_low/high_pc patch: 2014-03-20 19:16:16 +00:00
main-file-name.s Now that llvm-dwarfdump supports flags to specify which DWARF section to dump, 2013-01-25 21:44:53 +00:00
misched-dbg-value.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
multiple-aranges.ll Disable emission of aranges by default and add a command line 2014-02-14 01:26:55 +00:00
multiple-at-const-val.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
nondefault-subrange-array.ll DebugInfo: Use a 64 bit type for the subrange 2014-04-03 06:28:20 +00:00
objc-fwd-decl.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
objc-property-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
op_deref.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
parameters.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
pointer-type-size.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
pr11300.ll DebugInfo: Generalize some tests to handle variations in attribute ordering. 2014-05-23 21:11:46 +00:00
pr12831.ll DebugInfo: Sure up subprogram variable list handling with more assertions and fewer conditionals. 2014-05-14 21:52:46 +00:00
pr13303.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
prologue-stack.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
ref_addr_relocation.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
reference-argument.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
rvalue-ref.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
sret.ll DebugInfo: Lazily construct subprogram definition DIEs. 2014-05-27 18:37:48 +00:00
stmt-list-multiple-compile-units.ll DebugInfo: Avoid creating unnecessary/empty line tables and remove the special case of '0' in DwarfCompileUnit::initStmtList by just always using a label difference 2014-04-01 08:07:52 +00:00
stmt-list.ll DebugInfo: Avoid creating unnecessary/empty line tables and remove the special case of '0' in DwarfCompileUnit::initStmtList by just always using a label difference 2014-04-01 08:07:52 +00:00
stringpool.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
struct-loc.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
subrange-type.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
subreg.ll Debug info: Remove ARMAsmPrinter::EmitDwarfRegOp(). AsmPrinter can now 2014-02-27 17:56:08 +00:00
subregisters.ll Debug info: Bugfix for r201190: DW_OP_piece takes bytes, not bits. 2014-02-12 19:34:44 +00:00
template.ll Add a DIELoc class to cover the DW_FORM_exprloc set of expressions 2014-02-16 08:46:55 +00:00
tls.ll DebugInfo: Deduplicate entries in the fission address table 2014-02-15 19:34:03 +00:00
type_units_with_addresses.ll Include C++ source for debug info test case committed in r207323 2014-04-26 18:25:07 +00:00
union-template.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
vector.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
vla.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