1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 12:43:36 +01:00
llvm-mirror/test/DebugInfo/Generic
OCHyams 09e0c4a999 [mem2reg] Remove dbg.values describing contents of dead allocas
This patch copies @vsk's fix to instcombine from D85555 over to mem2reg. The
motivation and rationale are exactly the same: When mem2reg removes an alloca,
it erases the dbg.{addr,declare} instructions which refer to the alloca. It
would be better to instead remove all debug intrinsics which describe the
contents of the dead alloca, namely all dbg.value(<dead alloca>, ...,
DW_OP_deref)'s.

As far as I can tell, prior to D80264 these `dbg.value+deref`s would have been
silently dropped instead of being made `undef`, so we're just returning to
previous behaviour with these patches.

Testing:
`llvm-lit llvm/test` and `ninja check-clang` gave no unexpected failures. Added
3 tests, each of which covers a dbg.value deletion path in mem2reg:
  mem2reg-promote-alloca-1.ll
  mem2reg-promote-alloca-2.ll
  mem2reg-promote-alloca-3.ll
The first is based on the dexter test inlining.c from D89543. This patch also
improves the debugging experience for loop.c from D89543, which suffers
similarly after arg promotion instead of inlining.
2020-10-23 04:46:56 +00:00
..
2009-10-16-Phi.ll
2009-11-03-InsertExtractValue.ll Add a verifier check that rejects non-distinct DISubprogram function 2020-09-25 12:04:46 -07:00
2009-11-05-DeadGlobalVariable.ll
2009-11-06-NamelessGlobalVariable.ll
2009-11-10-CurrentFn.ll
2010-01-05-DbgScope.ll
2010-03-12-llc-crash.ll
2010-03-19-DbgDeclare.ll
2010-03-24-MemberFn.ll
2010-04-06-NestedFnDbgInfo.ll
2010-04-19-FramePtr.ll
2010-05-03-DisableFramePtr.ll
2010-05-03-OriginDIE.ll
2010-05-10-MultipleCU.ll
2010-06-29-InlinedFnLocalVar.ll [test][DebugInfo] Adapt two tests for Sun assembler syntax on Sparc 2020-08-08 09:13:47 +02:00
2010-10-01-crash.ll
accel-table-hash-collisions.ll
address_space_rvalue.ll
array.ll [test][DebugInfo] Adapt two tests for Sun assembler syntax on Sparc 2020-08-08 09:13:47 +02:00
block-asan.ll [DI][ASan][NewPM] Fix some DebugInfo ASan tests under NPM 2020-09-22 08:28:54 -07:00
bug_null_debuginfo.ll
callsite-attr-invalid.ll
constant-pointers.ll
containing-type-extension.ll
cross-cu-inlining.ll
cross-cu-linkonce-distinct.ll
cross-cu-linkonce.ll
cu-range-hole.ll
cu-ranges.ll
dbg-at-specficiation.ll
dbg-value-lower-linenos.ll
dead-argument-order.ll
debug-info-always-inline.ll
debug-info-enum.ll
debug-info-qualifiers.ll
debug-label-inline.ll [test] XFAIL two tests with inlining debug info issues on Sparc 2020-08-13 11:12:52 +02:00
debug-label-mi.ll
debug-label-opt.ll
debug-label.ll
debug-names-empty-cu.ll
debug-names-empty-name.ll
debug-names-hash-collisions.ll
debug-names-index-type.ll
debug-names-linkage-name.ll
debug-names-many-cu.ll
debug-names-name-collisions.ll
debug-names-one-cu.ll
debug-names-two-cu.ll
debuginfofinder-forward-declaration.ll [NPM] Port module-debuginfo pass to the new pass manager 2020-10-19 14:31:17 -07:00
debuginfofinder-imported-global-variable.ll [NPM] Port module-debuginfo pass to the new pass manager 2020-10-19 14:31:17 -07:00
debuginfofinder-inlined-cu.ll [NPM] Port module-debuginfo pass to the new pass manager 2020-10-19 14:31:17 -07:00
debuginfofinder-multiple-cu.ll [NPM] Port module-debuginfo pass to the new pass manager 2020-10-19 14:31:17 -07:00
def-line.ll
DICommonBlock.ll
directives-only.ll
discriminated-union.ll
discriminator.ll
disubrange_vla_no_dbgvalue.ll
disubrange_vla.ll
dwarf-public-names.ll
empty.ll
enum-types.ll
enum.ll
export-symbol-anonymous-class.ll
extended-loc-directive.ll
fortran-subprogram-attr.ll
global-sra-array.ll
global-sra-single-member.ll
global-sra-struct-fwd-decl.ll [globalopt] Change so that emitting fragments doesn't use the type size of DIVariables 2020-08-11 14:50:56 -07:00
global-sra-struct-zero-length.ll [globalopt] Don't emit DWARF fragments for members 2020-04-30 11:36:55 +01:00
global-sra-struct.ll
global.ll
gmlt_profiling.ll
gmlt.test
gvn.ll
imported-name-inlined.ll
incorrect-variable-debugloc1.ll
incorrect-variable-debugloc.ll
indvar-discriminator.ll
inheritance.ll
inline-debug-info-multiret.ll
inline-debug-info.ll
inline-debug-loc.ll
inline-no-debug-info.ll
inline-scopes.ll
inlined-arguments.ll
inlined-strings.ll
inlined-vars.ll
instcombine-phi.ll
invalid.ll
licm-hoist-debug-loc.ll [Instruction] Add dropLocation and updateLocationAfterHoist helpers 2020-09-24 15:00:04 -07:00
line-table-addrx.ll
linear-dbg-value.ll
linkage-name-abstract.ll
lit.local.cfg
location-verifier.ll
lto-comp-dir.ll
mainsubprogram.ll
mem2reg-promote-alloca-1.ll [mem2reg] Remove dbg.values describing contents of dead allocas 2020-10-23 04:46:56 +00:00
mem2reg-promote-alloca-2.ll [mem2reg] Remove dbg.values describing contents of dead allocas 2020-10-23 04:46:56 +00:00
mem2reg-promote-alloca-3.ll [mem2reg] Remove dbg.values describing contents of dead allocas 2020-10-23 04:46:56 +00:00
member-order.ll
member-pointers.ll
missing-abstract-variable.ll
multiline.ll
namespace_function_definition.ll
namespace_inline_function_definition.ll
namespace.ll
noscopes.ll
pass-by-value.ll
piece-verifier.ll
pr40628.ll [EarlyCSE] Verify hash code in regression tests 2020-09-04 10:40:35 -04:00
PR20038.ll
PR37395.ll
ptrsize.ll
recursive_inlining.ll
restrict.ll
simplifycfg_sink_last_inst.ll
skeletoncu.ll
sroa-larger.ll
sroa-samesize.ll
store-tail-merge.ll
string-offsets-form.ll
sugared-constants.ll
template-recursive-void.ll DebugInfo: Emit class template parameters first, before members 2020-08-17 21:42:00 -07:00
thrownTypes.ll
tu-composite.ll
tu-member-pointer.ll
two-cus-from-same-file.ll
typedef.ll
unconditional-branch.ll
univariant-discriminated-union.ll
varargs.ll
version.ll [DebugInfo] Separate fields with commas in headers of compile units (2/3). 2020-06-01 17:40:24 +07:00
virtual-index.ll
volatile-alloca.ll