llvm-project/llvm/test/DebugInfo/Generic
Stephen Tozer e5d844b587 [Bitcode] Ensure DIArgList in bitcode has no null or forward metadata refs
This patch fixes an issue in which ConstantAsMetadata arguments to a
DIArglist, as well as the Constant values referenced by that metadata,
would not be always be emitted correctly into bitcode. This patch fixes
this issue firstly by searching for ConstantAsMetadata in DIArgLists
(previously we would only search for them when directly wrapped in
MetadataAsValue), and secondly by enumerating all of a DIArgList's
arguments directly prior to enumerating the DIArgList itself.

This patch also adds a number of asserts, and no longer treats the
arguments to a DIArgList as optional fields when reading/writing to
bitcode.

Differential Revision: https://reviews.llvm.org/D100572
2021-04-22 12:03:33 +01: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 Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
2010-04-19-FramePtr.ll
2010-05-03-DisableFramePtr.ll Migrate function attribute "no-frame-pointer-elim-non-leaf" to "frame-pointer"="non-leaf" as cleanups after D56351 2019-12-24 16:05:15 -08:00
2010-05-03-OriginDIE.ll [XCore][Test] XFAIL tests requiring 8-byte stack alignment. 2021-03-24 09:12:53 +00:00
2010-05-10-MultipleCU.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
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 OpaquePtr: Bulk update tests to use typed sret 2020-11-20 17:58:26 -05:00
DICommonBlock.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
PR20038.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
PR37395.ll
accel-table-hash-collisions.ll Revert "Use the default seed value for djb hash for StringMap" 2021-03-01 14:00:39 +01:00
address_space_rvalue.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
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 Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
containing-type-extension.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
cross-cu-inlining.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
cross-cu-linkonce-distinct.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
cross-cu-linkonce.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
cu-range-hole.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
cu-ranges.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
dbg-at-specficiation.ll
dbg-value-lower-linenos.ll
dead-argument-order.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
debug-info-always-inline.ll Migrate function attribute "no-frame-pointer-elim"="false" to "frame-pointer"="none" as cleanups after D56351 2019-12-24 16:27:51 -08:00
debug-info-enum.ll
debug-info-qualifiers.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
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 Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
debug-names-empty-name.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
debug-names-hash-collisions.ll Revert "Use the default seed value for djb hash for StringMap" 2021-03-01 14:00:39 +01:00
debug-names-index-type.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
debug-names-linkage-name.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
debug-names-many-cu.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
debug-names-name-collisions.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
debug-names-one-cu.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
debug-names-two-cu.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
debug_value_list.ll [Bitcode] Ensure DIArgList in bitcode has no null or forward metadata refs 2021-04-22 12:03:33 +01:00
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 Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
directives-only.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
discriminated-union.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
discriminator.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
disubrange_vla.ll
disubrange_vla_no_dbgvalue.ll
dwarf-public-names.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
empty.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
enum-types.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
enum.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
export-symbol-anonymous-class.ll
extended-loc-directive.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
fortran-subprogram-attr.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
global-sra-array.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
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 Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
gmlt.test Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
gmlt_profiling.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
gvn.ll
imported-name-inlined.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
incorrect-variable-debugloc.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
incorrect-variable-debugloc1.ll Clean up hexagon builder after object-emission removal 2020-02-13 13:17:42 -06:00
indvar-discriminator.ll
inheritance.ll
inline-debug-info-multiret.ll
inline-debug-info.ll
inline-debug-loc.ll
inline-no-debug-info.ll Migrate function attribute "no-frame-pointer-elim"="false" to "frame-pointer"="none" as cleanups after D56351 2019-12-24 16:27:51 -08:00
inline-scopes.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
inlined-arguments.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
inlined-strings.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
inlined-vars.ll
instcombine-phi.ll
instcombine-replaced-select-with-operand.ll [DebugInfo] Replace debug uses in replaceUsesOutsideBlock 2021-04-19 11:06:53 +01:00
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 Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
lit.local.cfg Restore lit feature object-emission. Omit DebugInfo/Generic on XCore. 2021-04-16 13:02:14 +01:00
location-verifier.ll
lto-comp-dir.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
mainsubprogram.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
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 Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
member-pointers.ll Clean up hexagon builder after object-emission removal 2020-02-13 13:17:42 -06:00
missing-abstract-variable.ll Reapply [DebugInfo] Re-engineer a test to be stricter, add XFails 2021-02-10 10:46:58 +00:00
multiline.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
namespace.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
namespace_function_definition.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
namespace_inline_function_definition.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
no-empty-child-vars.ll Reland [DWARF] Location-less inlined variables should not have DW_TAG_variable 2021-02-10 15:40:47 +00:00
noscopes.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
pass-by-value.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
piece-verifier.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
pr40628.ll [EarlyCSE] Verify hash code in regression tests 2020-09-04 10:40:35 -04:00
ptrsize.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
recursive_inlining.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
restrict.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
simplifycfg_sink_last_inst.ll
skeletoncu.ll
sroa-larger.ll
sroa-samesize.ll
store-tail-merge.ll
string-offsets-form.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
sugared-constants.ll Clean up hexagon builder after object-emission removal 2020-02-13 13:17:42 -06:00
template-recursive-void.ll DebugInfo: Emit class template parameters first, before members 2020-08-17 21:42:00 -07:00
thrownTypes.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
tu-composite.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
tu-member-pointer.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
two-cus-from-same-file.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
typedef.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
unconditional-branch.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
univariant-discriminated-union.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
varargs.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
verifier-invalid-disubprogram.ll [NFC] Add more tests for DISubprogram verifier 2020-10-29 15:40:55 +00:00
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 Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
volatile-alloca.ll