llvm-project/llvm/test/DebugInfo/X86
David Blaikie 09fdfabdda DebugInfo: Fix overwriting/loss of inlined arguments to recursively inlined functions.
Due to an unnecessary special case, inlined arguments that happened to
be from the same function as they were inlined into were misclassified
as non-inline arguments and would overwrite the non-inlined arguments.

Assert that we never overwrite a function's arguments, and stop
misclassifying inlined arguments as non-inline arguments to fix this
issue.

Excuse the rather crappy test case - handcrafted IR might do better, or
someone who understands better how to tickle the inliner to create a
recursive inlining situation like this (though it may also be necessary
to tickle the variable in a particular way to cause it to be recorded in
the MMI side table and go down this particular path for location
information).

llvm-svn: 215157
2014-08-07 22:22:49 +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: Refactor some tests to allow DW_AT_name to not be the first attribute in a local variable. 2014-06-13 21:52:33 +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 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
DW_AT_object_pointer.ll DebugInfo: Refactor some tests to allow DW_AT_name to not be the first attribute in a local variable. 2014-06-13 21:52:33 +00:00
DW_AT_specification.ll Fix up scoping in a few tests (and delete one that validates unnecessary behavior). 2014-06-24 20:10:27 +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: Assert that any CU for which debug_loc lists are emitted, has at least one range. 2014-08-06 00:21:25 +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: Assert that any CU for which debug_loc lists are emitted, has at least one range. 2014-08-06 00:21:25 +00:00
byvalstruct.ll DebugInfo: Refactor some tests to allow DW_AT_name to not be the first attribute in a local variable. 2014-06-13 21:52:33 +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 Fix another asserting method in the null streamer. 2014-06-25 05:37:58 +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 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
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-asm.s MC: correct DWARF header for PE/COFF assembly input 2014-07-17 16:27:44 +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 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
dbg-const.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
dbg-declare-arg.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
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 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
dbg-value-dag-combine.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
dbg-value-inlined-parameter.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
dbg-value-isel.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
dbg-value-location.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
dbg-value-range.ll DebugInfo: Fix a bunch of tests that, owing to their compile_unit metadata not including a 13th field, had some subtle behavior. 2014-08-05 23:57:31 +00:00
dbg-value-terminator.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
dbg_value_direct.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
debug-dead-local-var.ll Add a comment here. 2014-05-21 00:02:50 +00:00
debug-info-block-captured-self.ll Debug info: split out complex DIVariable address expressions into a 2014-06-30 17:17:35 +00:00
debug-info-blocks.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
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-asan.ll Debug info: split out complex DIVariable address expressions into a 2014-06-30 17:17:35 +00:00
debug-loc-offset.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-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 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
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: Use the scope of the function declaration, if any, to name a function in DWARF pubnames 2014-06-06 22:29:05 +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 Fix up scoping in a few tests (and delete one that validates unnecessary behavior). 2014-06-24 20:10:27 +00:00
empty-and-one-elem-array.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
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 DebugInfo: Fission: Ensure the address pool entries for location lists are emitted. 2014-06-19 17:59:14 +00:00
formal_parameter.ll DebugInfo: Refactor some tests to allow DW_AT_name to not be the first attribute in a local variable. 2014-06-13 21:52:33 +00:00
generate-odr-hash.ll Reapply "DebugInfo: Don't put fission type units in comdat sections." 2014-07-25 17:11:58 +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 Fix typos 2014-06-07 21:23:09 +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 Reduce verbiage of lit.local.cfg files 2014-06-09 22:42:55 +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: Assert that any CU for which debug_loc lists are emitted, has at least one range. 2014-08-06 00:21:25 +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
nodebug_with_debug_loc.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
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: Assert that any CU for which debug_loc lists are emitted, has at least one range. 2014-08-06 00:21:25 +00:00
parameters.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
pieces-1.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
pieces-2.ll Debug info: Infrastructure to support debug locations for fragmented 2014-08-01 22:11:58 +00:00
pieces-3.ll Debug info: Infrastructure to support debug locations for fragmented 2014-08-01 22:11:58 +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 Use "weak alias" instead of "alias weak" 2014-07-30 22:51:54 +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
pr19307.ll Generate better location ranges for some register-described variables. 2014-06-09 21:53:47 +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
recursive_inlining.ll DebugInfo: Fix overwriting/loss of inlined arguments to recursively inlined functions. 2014-08-07 22:22:49 +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: 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
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 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
subregisters.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
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: Assert that any CU for which debug_loc lists are emitted, has at least one range. 2014-08-06 00:21:25 +00:00