llvm-6502/test/DebugInfo/X86
David Blaikie f9b6d0373a Don't try to construct debug LexicalScopes hierarchy for functions that do not have top level debug information.
If a function isn't actually in a CU's subprogram list in the debug info
metadata, ignore all the DebugLocs and don't try to build scopes, track
variables, etc.

While this is possibly a minor optimization, it's also a correctness fix
for an incoming patch that will add assertions to LexicalScopes and the
debug info verifier to ensure that all scope chains lead to debug info
for the current function.

Fix up a few test cases that had broken/incomplete debug info that could
violate this constraint.

Add a test case where this occurs by design (inlining a
debug-info-having function in an attribute nodebug function - we want
this to work because /if/ the nodebug function is then inlined into a
debug-info-having function, it should be fine (and will work fine - we
just stitch the scopes up as usual), but should the inlining not happen
we need to not assert fail either).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212203 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-02 18:31:35 +00:00
..
2010-04-13-PubType.ll
2010-08-10-DbgConstant.ll
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
arange.ll
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
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
concrete_out_of_line.ll Don't try to construct debug LexicalScopes hierarchy for functions that do not have top level debug information. 2014-07-02 18:31:35 +00:00
cu-ranges-odr.ll
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
dbg_value_direct.ll Debug info: split out complex DIVariable address expressions into a 2014-06-30 17:17:35 +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
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
dbg-i128-const.ll
dbg-merge-loc-entry.ll
dbg-prolog-end.ll
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
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 test/DebugInfo/X86/dbg-value-isel.s: correct lexical block descriptor to match schema 2014-06-13 21:52:28 +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
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-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
discriminator.ll
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
DW_TAG_friend.ll
dwarf-aranges-no-dwarf-labels.ll
dwarf-aranges.ll
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
earlydup-crash.ll
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
enum-fwd-decl.ll
fission-cu.ll
fission-hash.ll
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 DebugInfo: pubnames: include file-local (static or anonymous namespace) variables and anonymous namespaces themselves. 2014-06-06 22:16:56 +00:00
gnu-public-names-empty.ll
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
line-info.ll
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
main-file-name.s
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
multiple-at-const-val.ll
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
objc-property-void.ll
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
pointer-type-size.ll
pr11300.ll DebugInfo: Generalize some tests to handle variations in attribute ordering. 2014-05-23 21:11:46 +00:00
pr12831.ll Fix up scoping in a few tests (and delete one that validates unnecessary behavior). 2014-06-24 20:10:27 +00:00
pr13303.ll
pr19307.ll Generate better location ranges for some register-described variables. 2014-06-09 21:53:47 +00:00
prologue-stack.ll
ref_addr_relocation.ll
reference-argument.ll
rvalue-ref.ll
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
struct-loc.ll
subrange-type.ll
subreg.ll
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
tls.ll
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
vector.ll
vla.ll