llvm-6502/test/DebugInfo/X86
David Blaikie 406658c31b DebugInfo: Fix a bunch of tests that, owing to their compile_unit metadata not including a 13th field, had some subtle behavior.
Without the 13th field, the "emission kind" field defaults to 0 (which
is not equal to either of the values of the emission kind enum (1 ==
full debug info, 2 == line tables only)).

In this particular instance, the comparison with "FullDebugInfo" was
done when adding elements to the ranges list - so for these test cases
no values were added to the ranges list.

This got weirder when emitting debug_loc entries as the addresses should
be relative to the range of the CU if the CU has only one range (the
reasonable assumption is that if we're emitting debug_loc lists for a CU
that CU has at least one range - but due to the above situation, it has
zero) so the ranges were emitted relative to the start of the section
rather than relative to the start of the CU's singular range.

Fix these tests by accounting for the difference in the description of
debug_loc entries (in some cases making the test ignorant to these
differences, in others adding the extra label difference expression,
etc) or the presence/absence of high/low_pc on the CU, and add the 13th
field to their CUs to enable proper "full debug info" emission here.

In a future commit I'll fix up a bunch of other test cases that are not
so rigorously depending on this behavior, but still doing similarly
weird things due to the missing 13th field.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214937 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-05 23:57:31 +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
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: 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
array2.ll Unbreak the gdb buildbot by not lowering dbg.declare intrinsics for arrays. 2014-04-25 23:00:25 +00:00
array.ll This reapplies r207235 with an additional bugfixes caught by the msan 2014-04-25 20:49:25 +00:00
block-capture.ll Debug info: split out complex DIVariable address expressions into a 2014-06-30 17:17:35 +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_value_direct.ll Debug info: split out complex DIVariable address expressions into a 2014-06-30 17:17:35 +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 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 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: Fix up some test cases to have more correct debug info metadata. 2014-07-25 16:05:18 +00:00
dbg-value-inlined-parameter.ll DebugInfo: Reference abstract definitions from variables in concrete definitions that preceed their first inline definition. 2014-06-13 22:35:44 +00:00
dbg-value-isel.ll DebugInfo: Fix up some test cases to have more correct debug info metadata. 2014-07-25 16:05:18 +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 Fix up scoping in a few tests (and delete one that validates unnecessary behavior). 2014-06-24 20:10:27 +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
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 Debug info: split out complex DIVariable address expressions into a 2014-06-30 17:17:35 +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
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
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: 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
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
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: 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: 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
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 Debug info: split out complex DIVariable address expressions into a 2014-06-30 17:17:35 +00:00
parameters.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
pieces-1.ll Cleanup this test some more. 2014-08-01 23:01:32 +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
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 Debug info: Remove ARMAsmPrinter::EmitDwarfRegOp(). AsmPrinter can now 2014-02-27 17:56:08 +00:00
subregisters.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
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