llvm-project/llvm/test/Verifier
Adrian Prantl a8b2ddbde4 Move the stripping of invalid debug info from the Verifier to AutoUpgrade.
This came out of a recent discussion on llvm-dev
(https://reviews.llvm.org/D38042). Currently the Verifier will strip
the debug info metadata from a module if it finds the dbeug info to be
malformed. This feature is very valuable since it allows us to improve
the Verifier by making it stricter without breaking bcompatibility,
but arguable the Verifier pass should not be modifying the IR. This
patch moves the stripping of broken debug info into AutoUpgrade
(UpgradeDebugInfo to be precise), which is a much better location for
this since the stripping of malformed (i.e., produced by older, buggy
versions of Clang) is a (harsh) form of AutoUpgrade.

This change is mostly NFC in nature, the one big difference is the
behavior when LLVM module passes are introducing malformed debug
info. Prior to this patch, a NoAsserts build would have printed a
warning and stripped the debug info, after this patch the Verifier
will report a fatal error. I believe this behavior is actually more
desirable anyway.

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

llvm-svn: 314699
2017-10-02 18:31:29 +00:00
..
2002-04-13-RetTypes.ll
2002-11-05-GetelementptrPointers.ll
2004-05-21-SwitchConstantMismatch.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
2006-07-11-StoreStruct.ll
2006-10-15-AddrLabel.ll
2006-12-12-IntrinsicDefine.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
2007-12-21-InvokeParamAttrs.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
2008-01-11-VarargAttrs.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
2008-03-01-AllocaSized.ll
2008-08-22-MemCpyAlignment.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
2008-11-15-RetVoid.ll
2009-05-29-InvokeResult1.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
2009-05-29-InvokeResult2.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
2009-05-29-InvokeResult3.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
2010-08-07-PointerIntrinsic.ll Upgrade old memset/memcpy signatures (without isVolatile argument) in tests 2016-06-22 15:16:06 +00:00
AmbiguousPhi.ll
DILocation-parents.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
DISubprogram.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
PhiGrouping.ll
README.txt
SelfReferential.ll
alias.ll Don't IPO over functions that can be de-refined 2016-04-08 00:48:30 +00:00
align-md.ll Add verification for align, dereferenceable, dereferenceable_or_null load metadata 2015-10-09 17:41:29 +00:00
alloc-size-failedparse.ll Add the allocsize attribute to LLVM. 2016-04-12 01:05:35 +00:00
allocsize.ll Add the allocsize attribute to LLVM. 2016-04-12 01:05:35 +00:00
amdgpu-cc.ll Verifier: Check some amdgpu calling convention restrictions 2017-04-04 18:43:11 +00:00
atomics.ll Polish atomic pointers 2015-12-17 22:09:19 +00:00
bitcast-address-space-nested-global-cycle.ll
bitcast-address-space-nested-global.ll
bitcast-address-space-through-constant-inttoptr-inside-gep-instruction.ll
bitcast-address-space-through-constant-inttoptr.ll
bitcast-address-space-through-gep-2.ll
bitcast-address-space-through-gep.ll
bitcast-address-space-through-inttoptr.ll
bitcast-address-spaces.ll
bitcast-alias-address-space.ll
bitcast-vector-pointer-as.ll
byval-1.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
byval-4.ll
callsite-dbgloc.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
comdat-decl1.ll
comdat-decl2.ll
comdat.ll
comdat2.ll
comdat3.ll
cttz-undef-arg.ll
dbg-difile-crash.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
dbg-invalid-compileunit.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
dbg-invalid-named-metadata.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
dbg-invalid-retaintypes.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
dbg-line-without-file.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
dbg-null-retained-type.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
dbg-orphaned-compileunit.ll [IR/Verifier] List the CU we weren't able to find in `llvm.dbg.cu`. 2017-02-20 22:51:42 +00:00
dbg-typerefs.ll DebugInfo: Remove MDString-based type references 2016-04-23 21:08:00 +00:00
dbg.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
deoptimize-intrinsic.ll All llvm.deoptimize declarations must use the same calling convention 2016-05-12 01:17:38 +00:00
dereferenceable-md.ll Add verification for align, dereferenceable, dereferenceable_or_null load metadata 2015-10-09 17:41:29 +00:00
diderivedtype-address-space-atomic-type.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
diderivedtype-address-space-const-type.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
diderivedtype-address-space-friend.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
diderivedtype-address-space-inheritance.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
diderivedtype-address-space-member.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
diderivedtype-address-space-ptr-to-member-type.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
diderivedtype-address-space-restrict-type.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
diderivedtype-address-space-rvalue-reference-type.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
diderivedtype-address-space-typedef.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
diderivedtype-address-space-volatile-type.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
diexpression-swap.ll [DebugInfo] Make legal and emit DW_OP_swap and DW_OP_xderef 2017-03-08 00:28:57 +00:00
diglobalvariable.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
dominates.ll [Verifier] Reject PHIs using defs from own block. 2016-03-26 23:32:57 +00:00
element-wise-atomic-memory-intrinsics.ll Add element atomic memset intrinsic 2017-07-12 21:57:23 +00:00
fnarg-debuginfo.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
fnarg-nodebug.ll Further reduce testcase 2017-03-07 18:26:36 +00:00
fp-intrinsics.ll Add constrained intrinsics for some libm-equivalent operations 2017-05-25 21:31:00 +00:00
fpmath.ll Verifier: Reject non-float !fpmath 2016-06-27 19:43:15 +00:00
fragment.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
frameescape.ll
func-dbg.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
function-metadata-bad.ll Add function importing info from samplepgo profile to the module summary. 2017-02-28 18:09:44 +00:00
function-metadata-good.ll
gc_relocate_addrspace.ll [gc.statepoint] Change gc.statepoint intrinsic's return type to token type instead of i32 type 2015-12-26 07:54:32 +00:00
gc_relocate_operand.ll [gc.statepoint] Change gc.statepoint intrinsic's return type to token type instead of i32 type 2015-12-26 07:54:32 +00:00
gc_relocate_return.ll [Statepoints] Initial support for relocating vectors of pointers 2016-01-07 03:32:11 +00:00
gcread-ptrptr.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
gcroot-alloca.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
gcroot-meta.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
gcroot-ptrptr.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
gcwrite-ptrptr.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
global-ctors.ll
guard-intrinsic.ll Introduce a @llvm.experimental.guard intrinsic 2016-03-31 00:18:46 +00:00
ident-meta1.ll
ident-meta2.ll
ident-meta3.ll
ident-meta4.ll
inalloca-vararg.ll
inalloca1.ll
inalloca2.ll
inalloca3.ll
invalid-eh.ll Mark Verifier/invalid-eh.ll as unsupported on windows 2017-08-17 15:07:03 +00:00
invalid-statepoint.ll [gc.statepoint] Change gc.statepoint intrinsic's return type to token type instead of i32 type 2015-12-26 07:54:32 +00:00
invalid-statepoint2.ll [gc.statepoint] Change gc.statepoint intrinsic's return type to token type instead of i32 type 2015-12-26 07:54:32 +00:00
invoke.ll [coroutines] Part 4[ab]: Coroutine Devirtualization: Lower coro.resume and coro.destroy. 2016-08-04 20:30:07 +00:00
jumptable.ll
llvm.compiler_used-invalid-type.ll
llvm.dbg.declare-address.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
llvm.dbg.declare-expression.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
llvm.dbg.declare-variable.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
llvm.dbg.intrinsic-dbg-attachment.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
llvm.dbg.value-expression.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
llvm.dbg.value-value.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
llvm.dbg.value-variable.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
llvm.used-invalid-init.ll
llvm.used-invalid-init2.ll
llvm.used-invalid-type.ll
llvm.used-invalid-type2.ll
llvm.used-ptr-type.ll
mdcompositetype-templateparams-tuple.ll
mdcompositetype-templateparams.ll
memcpy.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
metadata-function-dbg.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
metadata-function-prof.ll Add function importing info from samplepgo profile to the module summary. 2017-02-28 18:09:44 +00:00
module-flags-1.ll Support for taking the max of module flags when linking, use for PIE/PIC 2017-05-23 00:08:00 +00:00
module-flags-2.ll
module-flags-3.ll
musttail-invalid.ll
musttail-valid.ll
non-integral-pointers.ll [Verifier] Add more tests related to non-integral pointers 2016-08-02 23:32:53 +00:00
operand-bundles.ll Add a "gc-transition" operand bundle 2016-01-20 19:50:25 +00:00
pr34325.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
range-1.ll
range-2.ll
recursive-struct-param.ll
recursive-type-1.ll
recursive-type-2.ll
recursive-type-3.ll
resume.ll Included test for r277360. 2016-08-01 18:07:19 +00:00
scatter_gather.ll Support arbitrary address space pointers in masked gather/scatter intrinsics. 2017-05-03 12:28:54 +00:00
speculatable-callsite-invalid.ll Add speculatable function attribute 2017-04-28 20:25:27 +00:00
speculatable-callsite.ll Add speculatable function attribute 2017-04-28 20:25:27 +00:00
sret.ll
statepoint.ll [gc.statepoint] Change gc.statepoint intrinsic's return type to token type instead of i32 type 2015-12-26 07:54:32 +00:00
swifterror.ll Swift Calling Convention: add swifterror attribute. 2016-04-01 21:41:15 +00:00
swifterror2.ll Swift Calling Convention: add swifterror attribute. 2016-04-01 21:41:15 +00:00
swifterror3.ll Swift Calling Convention: add swifterror attribute. 2016-04-01 21:41:15 +00:00
swiftself.ll Swift Calling Convention: add swiftself attribute. 2016-03-29 17:37:21 +00:00
tbaa-allowed.ll [Verifier] Allow TBAA metadata on atomicrmw and atomiccmpxchg 2016-12-15 21:23:44 +00:00
tbaa.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
test_g_phi.mir Fix Verifier test - add REQUIRES aarch64-registered-target 2017-08-23 21:55:36 +00:00
token1.ll
token2.ll
token3.ll
token4.ll
token5.ll
token6.ll
token7.ll
unsized-types.ll [IR] Disallow loading and storing unsized types 2016-06-01 16:13:10 +00:00
varargs-intrinsic.ll
writeonly.ll Add writeonly IR attribute 2016-07-04 08:01:29 +00:00

README.txt

This directory contains testcases that the verifier is supposed to detect as
malformed LLVM code.  Testcases for situations that the verifier incorrectly
identifies as malformed should go in the test/Assembler directory.