llvm-project/llvm/test/Verifier
Adrian Prantl fc5107cde6 Add debug location verification for !llvm.loop attachments.
This patch teaches the Verifier how to detect broken !llvm.loop
attachments as discussed in https://reviews.llvm.org/D60831. This
allows LLVM to warn and strip out the broken debug info before
attempting an LTO compilation with input generated by LLVM predating
https://reviews.llvm.org/rL361149.

rdar://problem/51631158

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

[Re-applies r363725 without changes after fixing a broken testcase.]

llvm-svn: 363731
2019-06-18 20:09:09 +00:00
..
AMDGPU [AMDGPU] gfx1010 wave32 icmp/fcmp intrinsic changes for wave32 2019-06-13 23:47:36 +00:00
ARM ARM: Add ImmArg to intrinsics 2019-03-14 13:46:14 +00:00
Mips Mips: Add ImmArg to intrinsics 2019-03-13 19:07:59 +00:00
SystemZ [SystemZ] Add missing intrinsics to intrinsics-immarg.ll 2019-04-16 14:35:18 +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 Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +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-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 Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
AmbiguousPhi.ll
DIFile.ll [DebugInfo] Unify ChecksumKind and Checksum value in DIFile 2018-02-12 19:45:54 +00:00
DILocation-parents.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
DILocation-scope.ll Verifier: verify that a DILocation's scope is a DILocalScope. 2018-08-24 21:01:58 +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
align-md.ll
alloc-size-failedparse.ll
allocsize.ll
amdgpu-cc.ll Verifier: Check some amdgpu calling convention restrictions 2017-04-04 18:43:11 +00:00
atomics.ll
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-pointer-vector-neg.ll [IR Verifier] Do not allow bitcast of pointer to vector of pointers and vice versa. 2018-08-21 04:27:07 +00:00
bitcast-vector-pointer-as-neg.ll [IR Verifier] Do not allow bitcast of pointer to vector of pointers and vice versa. 2018-08-21 04:27:07 +00:00
bitcast-vector-pointer-as.ll
bitcast-vector-pointer-neg.ll [IR Verifier] Do not allow bitcast of pointer to vector of pointers and vice versa. 2018-08-21 04:27:07 +00:00
bitcast-vector-pointer-pos.ll [IR Verifier] Do not allow bitcast of pointer to vector of pointers and vice versa. 2018-08-21 04:27:07 +00:00
blockbyref.ll Remove addBlockByrefAddress(), it is dead code as far as clang is concerned. 2018-09-08 00:21:55 +00:00
byval-1.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
byval-4.ll
callsite-dbgloc.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
cc-flags.ll Debug Info: Support DW_AT_calling_convention on composite types. 2018-01-05 01:13:37 +00:00
comdat-decl1.ll
comdat-decl2.ll
comdat.ll
comdat2.ll
comdat3.ll
commandline-meta1.ll Implement -frecord-command-line (-frecord-gcc-switches) 2018-12-14 15:38:15 +00:00
commandline-meta2.ll Implement -frecord-command-line (-frecord-gcc-switches) 2018-12-14 15:38:15 +00:00
commandline-meta3.ll Implement -frecord-command-line (-frecord-gcc-switches) 2018-12-14 15:38:15 +00:00
commandline-meta4.ll Implement -frecord-command-line (-frecord-gcc-switches) 2018-12-14 15:38:15 +00:00
cttz-undef-arg.ll IR: Add immarg attribute 2019-03-12 21:02:54 +00:00
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-invalid-vector.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +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
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
dereferenceable-md.ll
di-subroutine-localvar.ll [Verifier] Reject invalid type for DILocalVariable. 2019-01-07 23:09:09 +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 Debug Info: Support address space attributes on rvalue references. 2019-05-07 17:42:38 +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
element-wise-atomic-memory-intrinsics.ll IR: Add immarg attribute 2019-03-12 21:02:54 +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 [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
fp-intrinsics.ll Add constrained intrinsics for some libm-equivalent operations 2017-05-25 21:31:00 +00:00
fpmath.ll
fragment.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
frameescape.ll IR: Add immarg attribute 2019-03-12 21:02:54 +00:00
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_relocate_operand.ll
gc_relocate_return.ll
gcread-ptrptr.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
gcroot.ll Replace gcroot verifier tests 2019-02-14 22:41:01 +00:00
gcwrite-ptrptr.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
global-ctors-2.ll [IR] Disallow llvm.global_ctors and llvm.global_dtors of the 2-field form in textual format 2019-05-15 02:35:32 +00:00
global-ctors.ll
guard-intrinsic.ll
ident-meta1.ll
ident-meta2.ll
ident-meta3.ll
ident-meta4.ll
immarg-param-attribute-invalid.ll IR: Add immarg attribute 2019-03-12 21:02:54 +00:00
inalloca-vararg.ll
inalloca1.ll
inalloca2.ll
inalloca3.ll
intrinsic-arg-overloading-struct-ret.ll Test forward references in IntrinsicEmitter on Neon LD(2|3|4) 2019-06-17 12:01:53 +00:00
intrinsic-immarg.ll Remove immarg from llvm.expect 2019-03-17 23:16:18 +00:00
invalid-disubrange-count-node.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
invalid-eh.ll Change "UNSUPPORTED: windows" to be "UNSUPPORTED: system-windows" so that test is actually skipped on Windows. 2018-02-08 18:45:16 +00:00
invalid-statepoint.ll
invalid-statepoint2.ll
invoke.ll
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 Verifier: fix bug treating debug info issue as non-debug info issue 2018-01-23 16:11:15 +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.loop.ll Add debug location verification for !llvm.loop attachments. 2019-06-18 20:09:09 +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
masked-load.ll Verifier: Make sure masked load/store alignment is a power of 2 2019-03-13 19:46:34 +00:00
masked-store.ll Verifier: Make sure masked load/store alignment is a power of 2 2019-03-13 19:46:34 +00:00
mdcompositetype-templateparams-tuple.ll
mdcompositetype-templateparams.ll
memcpy.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +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
module-flags-cgprofile.ll Recommit r335794 "Add support for generating a call graph profile from Branch Frequency Info." with fix for removed functions. 2018-07-16 00:28:24 +00:00
musttail-invalid.ll Tweak an assert message in the verifier 2018-04-06 10:20:19 +00:00
musttail-valid.ll
non-integer-gep-index.ll [Verifier] Check that GEP indexes has correct types 2017-12-14 09:33:58 +00:00
non-integer-gep-index.ll.bc [Verifier] Check that GEP indexes has correct types 2017-12-14 09:33:58 +00:00
non-integral-pointers.ll
operand-bundles.ll
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
scalable-aggregates.ll [SVE][IR] Scalable Vector IR Type with pr42210 fix 2019-06-18 10:11:56 +00:00
scalable-global-vars.ll [SVE][IR] Scalable Vector IR Type with pr42210 fix 2019-06-18 10:11:56 +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 [IRVerifier] Allow StructRet in statepoint 2018-11-16 14:28:05 +00:00
swifterror.ll
swifterror2.ll
swifterror3.ll
swiftself.ll
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
token1.ll
token2.ll
token3.ll
token4.ll
token5.ll
token6.ll
token7.ll
unsized-types.ll
varargs-intrinsic.ll
variant-part.ll Add DWARF for discriminated unions 2018-02-06 23:45:59 +00:00
writeonly.ll

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.