llvm-project/llvm/test/DebugInfo/X86
Robert Lougher 10f740df4d [LiveDebugVariables] Use lexical scope to trim debug value live intervals
The debug value live intervals computed by Live Debug Variables may extend
beyond the range of the debug location's lexical scope. In this case,
splitting of an interval can result in an interval outside of the scope being
created, causing extra unnecessary DBG_VALUEs to be emitted. To prevent this,
trim the intervals to the lexical scope.

This resolves PR33730.

Reviewers: aprantl

Differential Revision: https://reviews.llvm.org/D35953

llvm-svn: 309933
2017-08-03 11:54:02 +00:00
..
2010-04-13-PubType.ll
2011-09-26-GlobalVarContext.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
2011-12-16-BadStructRef.ll
DIModule.ll Debug Info: Add a file: field to DIImportedEntity. 2017-07-19 00:09:54 +00:00
DIModuleContext.ll Debug Info: Add a file: field to DIImportedEntity. 2017-07-19 00:09:54 +00:00
DW_AT_byte_size.ll
DW_AT_calling-convention.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
DW_AT_linkage_name.ll
DW_AT_location-reference.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
DW_AT_object_pointer.ll
DW_AT_specification.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
DW_AT_stmt_list_sec_offset.ll
DW_TAG_friend.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
FrameIndexExprs.ll Fix windows bots by locking down the target triple on this testcase. 2017-02-17 20:02:26 +00:00
InlinedFnLocalVar.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
PR26148.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
abstract_origin.ll Debug Info: Prevent DW_AT_abstract_origin from being emitted twice 2016-05-10 19:38:51 +00:00
align_c11.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
align_cpp11.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
align_objc.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
aligned_stack_var.ll
arange-and-stub.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
arange.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
arguments.ll
array.ll [DebugInfo] Don't turn dbg.declare into DBG_VALUE for static allocas 2017-08-01 19:45:09 +00:00
array2.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
asm-macro-line-number.s
atomic-c11-dwarf-4.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
atomic-c11-dwarf-5.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
bbjoin.ll Remove PrologEpilogInserter's usage of DBG_VALUE's offset field 2017-08-01 21:45:24 +00:00
bitfields-dwarf4.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
bitfields.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
block-capture.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
byvalstruct.ll
c-type-units.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
clang-module.ll Debug Info: Don't strip clang module skeleton CUs. 2017-07-21 01:24:05 +00:00
coff_debug_info_type.ll
coff_relative_names.ll
concrete_out_of_line.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
constant-aggregate.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
constant-loclist.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
cu-ranges-odr.ll Move Split DWARF handling to an MC option/command line argument rather than using metadata 2017-04-21 23:35:26 +00:00
cu-ranges.ll Move Split DWARF handling to an MC option/command line argument rather than using metadata 2017-04-21 23:35:26 +00:00
data_member_location.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
dbg-abstract-vars-g-gmlt.ll Remove an assertion that doesn't hold when mixing -g and -gmlt through 2017-02-01 23:51:56 +00:00
dbg-asm.s
dbg-byval-parameter.ll
dbg-const-int.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
dbg-const.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
dbg-declare-alloca.ll [DebugInfo] Don't turn dbg.declare into DBG_VALUE for static allocas 2017-08-01 19:45:09 +00:00
dbg-declare-arg.ll PR32382: Fix emitting complex DWARF expressions. 2017-04-18 01:21:53 +00:00
dbg-declare-inalloca.ll [codeview] Change readobj symbol dumping format 2017-07-11 23:41:41 +00:00
dbg-declare.ll [DebugInfo] Don't turn dbg.declare into DBG_VALUE for static allocas 2017-08-01 19:45:09 +00:00
dbg-file-name.ll Reverting 268054 & 268063 as they caused PR27579. 2016-04-30 01:44:07 +00:00
dbg-i128-const.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
dbg-merge-loc-entry.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
dbg-prolog-end.ll Allow "line 0" to be the first explicit debug location in a function. 2016-12-16 23:54:33 +00:00
dbg-subrange.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
dbg-value-const-byref.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
dbg-value-dag-combine.ll [LiveDebugVariables] Use lexical scope to trim debug value live intervals 2017-08-03 11:54:02 +00:00
dbg-value-frame-index.ll Remove PrologEpilogInserter's usage of DBG_VALUE's offset field 2017-08-01 21:45:24 +00:00
dbg-value-g-gmlt.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
dbg-value-inlined-parameter.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
dbg-value-isel.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
dbg-value-location.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
dbg-value-range.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
dbg-value-regmask-clobber.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
dbg-value-terminator.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
dbg_value_direct.ll PR32382: Fix emitting complex DWARF expressions. 2017-04-18 01:21:53 +00:00
debug-dead-local-var.ll Reverting 268054 & 268063 as they caused PR27579. 2016-04-30 01:44:07 +00:00
debug-info-access.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
debug-info-block-captured-self.ll Align definition of DW_OP_plus with DWARF spec [3/3] 2017-06-14 13:14:38 +00:00
debug-info-blocks.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
debug-info-packed-struct.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
debug-info-producer-with-flags.ll If the DIUnit has flags passed on it then have DW_AT_producer be a combination of DICompileUnit::Producer and Flags. 2017-03-29 23:34:27 +00:00
debug-info-static-member.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
debug-loc-asan.ll Remove PrologEpilogInserter's usage of DBG_VALUE's offset field 2017-08-01 21:45:24 +00:00
debug-loc-frame.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
debug-loc-offset.ll DebugInfo: Do not emit empty CUs 2017-05-26 18:52:56 +00:00
debug-macro.ll DebugInfo: Do not emit empty CUs 2017-05-26 18:52:56 +00:00
debug-ranges-offset.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
debug_and_nodebug_CUs.ll Move test to X86 subdirectory for bot failures 2017-02-17 01:23:28 +00:00
debug_frame.ll
debugger-tune.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
decl-derived-member.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
default-subrange-array.ll [DWARF] Default lower bound should respect requested DWARF version. 2017-03-01 18:32:37 +00:00
deleted-bit-piece.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
discriminator.ll Elide argument copies during instruction selection 2017-03-01 21:42:00 +00:00
discriminator2.ll
discriminator3.ll
dllimport.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
double-declare.ll Use a fixed target triple to s to appease windows bots 2017-06-12 23:47:27 +00:00
dw_op_minus.ll Align definition of DW_OP_plus with DWARF spec [3/3] 2017-06-14 13:14:38 +00:00
dw_op_minus_direct.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
dwarf-aranges-no-dwarf-labels.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
dwarf-aranges.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
dwarf-linkage-names.ll Remove line and file from DINamespace. 2017-04-28 22:25:46 +00:00
dwarf-no-source-loc.ll [DWARF] Preserve column number when emitting 'line 0' record 2016-12-14 00:27:35 +00:00
dwarf-public-names.ll Remove line and file from DINamespace. 2017-04-28 22:25:46 +00:00
dwarf-pubnames-split.ll Move Split DWARF handling to an MC option/command line argument rather than using metadata 2017-04-21 23:35:26 +00:00
dwarfdump-ranges-unrelocated.s [DWARF] Move test to x86 directory 2017-04-24 12:37:11 +00:00
earlydup-crash.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
elf-names.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
empty-and-one-elem-array.ll
empty-array.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
empty.ll DebugInfo: Do not emit empty CUs 2017-05-26 18:52:56 +00:00
ending-run.ll
enum-class.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
enum-fwd-decl.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
fi-expr.ll Fix bug that caused DwarfExpression to drop DW_OP_deref from FI locations 2017-04-19 23:42:25 +00:00
fi-piece.ll Debug Info: Support fragmented variables in the MMI side table 2017-07-25 23:32:59 +00:00
fission-cu.ll Move Split DWARF handling to an MC option/command line argument rather than using metadata 2017-04-21 23:35:26 +00:00
fission-hash.ll DebugInfo: Do not emit empty CUs 2017-05-26 18:52:56 +00:00
fission-inline.ll Debug Info: Add a file: field to DIImportedEntity. 2017-07-19 00:09:54 +00:00
fission-no-inlining.ll Move Split DWARF handling to an MC option/command line argument rather than using metadata 2017-04-21 23:35:26 +00:00
fission-ranges.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
float_const.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
float_const_loclist.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
formal_parameter.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
frame-register.ll
generate-odr-hash.ll Remove line and file from DINamespace. 2017-04-28 22:25:46 +00:00
ghost-sdnode-dbgvalues.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
gmlt.test Refactor the gmlt tests. (NFC) 2017-02-02 01:21:13 +00:00
gnu-public-names-empty.ll DebugInfo: Do not emit empty CUs 2017-05-26 18:52:56 +00:00
gnu-public-names-gmlt.ll DebugInfo: Produce debug_{gnu_}pub{names,types} entries when explicitly requested, even in -gmlt or when empty 2017-05-25 18:50:28 +00:00
gnu-public-names-tu.ll Remove line and file from DINamespace. 2017-04-28 22:25:46 +00:00
gnu-public-names.ll Debug Info: Add a file: field to DIImportedEntity. 2017-07-19 00:09:54 +00:00
header.ll
inline-asm-locs.ll
inline-member-function.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
inline-namespace.ll Remove line and file from DINamespace. 2017-04-28 22:25:46 +00:00
inline-seldag-test.ll
inlined-formal-parameter.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
inlined-indirect-value.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
instcombine-instrinsics.ll
isel-cse-line.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
lexical-block-file-inline.ll Debug Info: Add a file: field to DIImportedEntity. 2017-07-19 00:09:54 +00:00
lexical_block.ll
line-info.ll
line.test
linkage-name.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
lit.local.cfg
live-debug-values.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
live-debug-variables.ll [LiveDebugVariables] Use lexical scope to trim debug value live intervals 2017-08-03 11:54:02 +00:00
low-pc-cu.ll
main-file-name.s
memberfnptr.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
mi-print.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
misched-dbg-value.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
missing-file-line.ll
mixed-nodebug-cu.ll
multiple-aranges.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
multiple-at-const-val.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
nodebug_with_debug_loc.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
nondefault-subrange-array.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
nophysreg.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
noreturn_c11.ll Move tests to the appropriate subdirectory. 2016-08-17 16:55:56 +00:00
noreturn_cpp11.ll Move tests to the appropriate subdirectory. 2016-08-17 16:55:56 +00:00
noreturn_objc.ll Move tests to the appropriate subdirectory. 2016-08-17 16:55:56 +00:00
objc-fwd-decl.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
objc-property-void.ll
op_deref.ll Print complete DIExpressions in the assembler output DEBUG_VALUE comments. 2017-04-25 17:22:09 +00:00
parameters.ll Improve the accuracy of variable ranges .debug_loc location lists. 2017-06-16 22:40:04 +00:00
partial-constant.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
pieces-1.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
pieces-2.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
pieces-3.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
pieces-4.ll Remove PrologEpilogInserter's usage of DBG_VALUE's offset field 2017-08-01 21:45:24 +00:00
pointer-type-size.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
pr11300.ll
pr12831.ll [IR] Remove the DIExpression field from DIGlobalVariable. 2016-12-20 02:09:43 +00:00
pr13303.ll
pr19307.ll Debug Info: Add a file: field to DIImportedEntity. 2017-07-19 00:09:54 +00:00
pr28270.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
processes-relocations.ll
prologue-stack.ll
range_reloc.ll DebugInfo: Put range base specifier entry functionality behind a flag 2017-07-31 21:48:42 +00:00
ref_addr_relocation.ll Change how we handle section symbols on ELF. 2017-02-02 21:26:06 +00:00
reference-argument.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
rematerialize.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
rvalue-ref.ll
safestack-byval.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
single-dbg_value.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
single-fi.ll Fix testcase on windows. 2017-03-22 17:15:03 +00:00
split-dwarf-cross-unit-reference.ll DWARF: Avoid cross-CU references under Fission 2017-05-12 01:13:45 +00:00
split-dwarf-multiple-cu-hash.ll DebugInfo: Include .dwo file name when hashing multiple CUs in a single file 2017-05-29 06:32:34 +00:00
split-dwarf-omit-empty.ll DebugInfo: Omit an empty CU when a subprogram was moved into its use 2017-05-29 06:25:30 +00:00
split-global.ll Fix a bug when emitting debug info for partially constant global variables. 2017-03-23 23:35:00 +00:00
sret.ll Move Split DWARF handling to an MC option/command line argument rather than using metadata 2017-04-21 23:35:26 +00:00
sroasplit-1.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
sroasplit-2.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
sroasplit-3.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
sroasplit-4.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
sroasplit-5.ll [DIExpression] Introduce a dedicated DW_OP_LLVM_fragment operation 2016-12-05 18:04:47 +00:00
stack-value-dwarf2.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
stack-value-dwarf4.ll Make testcase less nonsensical while still exercising the same code paths. 2017-03-24 19:11:31 +00:00
stack-value-piece.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
static_member_array.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
stmt-list-multiple-compile-units.ll Speculatively revert r289925, see PR31407 2016-12-16 14:02:28 +00:00
stmt-list.ll
stringpool.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
struct-loc.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
subrange-type.ll
subreg.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
subregisters.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
tail-merge.ll [DWARF] Preserve column number when emitting 'line 0' record 2016-12-14 00:27:35 +00:00
template.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
this-stack_value.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
tls.ll Move Split DWARF handling to an MC option/command line argument rather than using metadata 2017-04-21 23:35:26 +00:00
type_units_with_addresses.ll Move Split DWARF handling to an MC option/command line argument rather than using metadata 2017-04-21 23:35:26 +00:00
unattached-global.ll Align definition of DW_OP_plus with DWARF spec [3/3] 2017-06-14 13:14:38 +00:00
union-const.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
union-template.ll Remove line and file from DINamespace. 2017-04-28 22:25:46 +00:00
vector.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
vla.ll Print complete DIExpressions in the assembler output DEBUG_VALUE comments. 2017-04-25 17:22:09 +00:00
zextload.ll [CodeGenPrepare] When moving a zext near to its associated load, do not retain the original debug location. 2016-10-17 11:32:26 +00:00