llvm-project/llvm/test/Verifier
Nikita Popov 1f8d3fd42b [Verifier] Check byval/etc type when comparing ABI attributes
For musttail calls, ABI attributes between the function and the
musttail call must match. The current check discards the type of
type attributes like byval, which means that it will consider
byval(i32) and byval(i64) (or similar) as compatible.

I assume this is a leftover from before these attributes had a
type argument. Ran into this while trying to tighten an assertion
in AttrBuilder.

Differential Revision: https://reviews.llvm.org/D105841
2021-07-20 20:19:47 +02:00
..
AMDGPU AMDGPU: Fix missing immarg on buffer.atomic.fadd intrinsic 2020-06-05 14:34:07 -04:00
ARM ARM: Fix missing immarg for space intrinsic 2019-07-16 22:41:38 +00:00
Mips [Mips] Remove immarg test for intrinsics that no longer have an immarg after r372409. 2019-09-20 18:52:49 +00:00
SystemZ [SystemZ] Add support for new cpu architecture - arch13 2019-07-12 18:13:16 +00:00
2002-04-13-RetTypes.ll
2002-11-05-GetelementptrPointers.ll
2004-05-21-SwitchConstantMismatch.ll
2006-07-11-StoreStruct.ll
2006-10-15-AddrLabel.ll
2006-12-12-IntrinsicDefine.ll
2007-12-21-InvokeParamAttrs.ll
2008-01-11-VarargAttrs.ll OpaquePtr: Bulk update tests to use typed sret 2020-11-20 17:58:26 -05:00
2008-03-01-AllocaSized.ll
2008-11-15-RetVoid.ll
2009-05-29-InvokeResult1.ll
2009-05-29-InvokeResult2.ll
2009-05-29-InvokeResult3.ll
2010-08-07-PointerIntrinsic.ll
AmbiguousPhi.ll
DIFile.ll
DILocation-parents.ll
DILocation-scope.ll
DISubprogram.ll
PhiGrouping.ll
README.txt
SelfReferential.ll
alias.ll
align-md.ll
align.ll [Verifier] Improve incompatible attribute type check 2021-07-14 21:02:10 +02:00
alloc-size-failedparse.ll
allocsize.ll
amdgpu-cc.ll Reapply "OpaquePtr: Turn inalloca into a type attribute" 2021-03-29 08:55:30 -04:00
annotation-metadata.ll Add !annotation metadata and remarks pass. 2020-11-13 13:24:10 +00:00
array_allocated.ll [DebugInfo] Support for DW_AT_associated and DW_AT_allocated. 2020-07-20 19:54:35 +05:30
array_associated.ll [DebugInfo] Support for DW_AT_associated and DW_AT_allocated. 2020-07-20 19:54:35 +05:30
array_dataLocation.ll [DebugInfo] support for DW_AT_data_location in llvm 2020-05-15 11:33:17 +05:30
array_rank.ll [DebugInfo] Support for DWARF attribute DW_AT_rank 2020-10-10 17:51:12 +05:30
assume-bundles.ll Reland [AssumeBundles] Use operand bundles to encode alignment assumptions 2020-09-12 15:36:06 +02: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
bitcast-vector-pointer-as-neg.ll
bitcast-vector-pointer-as.ll
bitcast-vector-pointer-neg.ll
bitcast-vector-pointer-pos.ll
blockbyref.ll Remove the obsolete BlockByRefStruct flag from LLVM IR 2019-09-18 22:38:56 +00:00
bswap.ll Verifier: Check bswap is supported size 2020-03-22 12:15:25 -04:00
byref.ll [Verifier] Improve incompatible attribute type check 2021-07-14 21:02:10 +02:00
byval-1.ll [Verifier] Improve incompatible attribute type check 2021-07-14 21:02:10 +02:00
byval-4.ll OpaquePtr: Bulk update tests to use typed byval 2020-11-20 14:00:46 -05:00
callbr.ll Change the INLINEASM_BR MachineInstr to be a non-terminating instruction. 2020-07-01 12:51:50 -04:00
callsite-dbgloc.ll
cc-flags.ll
comdat-decl1.ll
comdat-decl2.ll
comdat.ll
comdat2.ll IR: Disable verifier check for GlobalValues with private linkage named after a comdat for non-COFF. 2019-08-06 21:47:18 +00:00
comdat3.ll
commandline-meta1.ll
commandline-meta2.ll
commandline-meta3.ll
commandline-meta4.ll
cttz-undef-arg.ll
dbg-difile-crash.ll
dbg-invalid-compileunit.ll
dbg-invalid-named-metadata.ll
dbg-invalid-retaintypes.ll
dbg-invalid-vector.ll
dbg-line-without-file.ll
dbg-null-retained-type.ll
dbg-orphaned-compileunit.ll
dbg-typerefs.ll
dbg.ll
deoptimize-intrinsic.ll
dereferenceable-md-inttoptr.ll [IR][Verifier] Allow IntToPtrInst to be !dereferenceable 2019-07-23 17:19:56 +00:00
dereferenceable-md.ll [IR][Verifier] Allow IntToPtrInst to be !dereferenceable 2019-07-23 17:19:56 +00:00
di-subroutine-localvar.ll
diderivedtype-address-space-atomic-type.ll
diderivedtype-address-space-const-type.ll
diderivedtype-address-space-friend.ll
diderivedtype-address-space-inheritance.ll
diderivedtype-address-space-member.ll
diderivedtype-address-space-ptr-to-member-type.ll
diderivedtype-address-space-restrict-type.ll
diderivedtype-address-space-rvalue-reference-type.ll
diderivedtype-address-space-typedef.ll
diderivedtype-address-space-volatile-type.ll
diexpression-dwarf-entry-value.ll [DebugInfo] Add a DW_OP_LLVM_entry_value operation 2019-10-15 11:31:21 +00:00
diexpression-entry-value-llvm-ir.ll [DebugInfo] Add a DW_OP_LLVM_entry_value operation 2019-10-15 11:31:21 +00:00
diexpression-entry-value.ll [DebugInfo] Add a DW_OP_LLVM_entry_value operation 2019-10-15 11:31:21 +00:00
diexpression-swap.ll
diexpression-valid-entry-value.ll Remove overzealous verifier check on DW_OP_LLVM_entry_value and improve the documentation 2021-02-04 10:58:35 -08:00
digenericsubrange-count-upperBound.ll [DebugInfo] Support for DW_TAG_generic_subrange 2020-10-29 01:34:15 +05:30
digenericsubrange-missing-stride.ll [DebugInfo] Support for DW_TAG_generic_subrange 2020-10-29 01:34:15 +05:30
digenericsubrange-missing-upperBound.ll [DebugInfo] Support for DW_TAG_generic_subrange 2020-10-29 01:34:15 +05:30
diglobalvariable.ll
dilocation-in-wrong-place.ll [Verifier] Constrain where DILocations may be nested 2020-05-04 14:02:43 -07:00
disubprogram-name-match-only.ll More principled implementation of DISubprogram::describes() 2020-03-02 10:03:14 -08:00
disubrange-count-upperBound.ll [DebugInfo] Upgrade DISubrange to support Fortran dynamic arrays 2020-05-28 13:46:41 +05:30
disubrange-missing-upperBound.ll [DebugInfo] Upgrade DISubrange to support Fortran dynamic arrays 2020-05-28 13:46:41 +05:30
dominates.ll Change callbr to only define its output SSA variable on the normal 2020-04-23 19:36:44 -04:00
element-wise-atomic-memory-intrinsics.ll [Verifier] Remove invalid verifier check 2020-03-16 12:00:08 +07:00
elementtype.ll [BPF] Use elementtype attribute for preserve.array/struct.index intrinsics 2021-07-17 11:09:18 +02:00
extract-vector-mismatched-element-types.ll [SelectionDAG] Add llvm.vector.{extract,insert} intrinsics 2020-12-09 11:08:41 +00:00
fnarg-debuginfo.ll
fnarg-nodebug.ll
force-opaque-ptr.ll [Verifier] Require same signature for intrinsic calls 2021-07-16 18:33:16 +02:00
fp-intrinsics.ll [IR] Make nosync, nofree and willreturn default for intrinsics. 2020-10-20 11:57:19 +02:00
fpmath.ll
fragment.ll
frameescape.ll
func-dbg.ll
function-metadata-bad.ll
function-metadata-good.ll
gc_relocate_addrspace.ll
gc_relocate_operand.ll
gc_relocate_return.ll
gcread-ptrptr.ll
gcroot.ll
gcwrite-ptrptr.ll
get-active-lane-mask.ll [ARM] Fixup of a few test cases. NFC. 2020-09-09 11:14:44 +01:00
global-ctors-2.ll
global-ctors.ll
guard-intrinsic.ll
ident-meta1.ll
ident-meta2.ll
ident-meta3.ll
ident-meta4.ll
immarg-param-attribute-invalid.ll
inalloca-vararg.ll Reapply "OpaquePtr: Turn inalloca into a type attribute" 2021-03-29 08:55:30 -04:00
inalloca1.ll [Verifier] Improve incompatible attribute type check 2021-07-14 21:02:10 +02:00
inalloca2.ll Reapply "OpaquePtr: Turn inalloca into a type attribute" 2021-03-29 08:55:30 -04:00
inalloca3.ll Reapply "OpaquePtr: Turn inalloca into a type attribute" 2021-03-29 08:55:30 -04:00
insert-extract-intrinsics-invalid.ll [Verifier] Fail on overrunning and invalid indices for {insert,extract} vector intrinsics 2021-06-23 10:33:22 +00:00
insert-vector-mismatched-element-types.ll [SelectionDAG] Add llvm.vector.{extract,insert} intrinsics 2020-12-09 11:08:41 +00:00
intrinsic-addr-taken.ll [Verifier] Extend address taken check for unknown intrinsics 2021-07-15 23:16:14 +02:00
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-bad-arg-type.ll [IntrinsicEmitter] Support scalable vectors in intrinsics 2019-08-27 12:57:09 +00:00
intrinsic-immarg.ll [instrinsics] Add @llvm.memcpy.inline instrinsics 2020-01-28 09:42:01 +01:00
invalid-disubrange-count-node.ll [DebugInfo] Upgrade DISubragne::count to accept DIExpression also 2021-03-30 09:16:55 +05:30
invalid-disubrange-lowerBound.ll [DebugInfo] Upgrade DISubrange to support Fortran dynamic arrays 2020-05-28 13:46:41 +05:30
invalid-disubrange-stride.ll [DebugInfo] Upgrade DISubrange to support Fortran dynamic arrays 2020-05-28 13:46:41 +05:30
invalid-disubrange-upperBound.ll [DebugInfo] Upgrade DISubrange to support Fortran dynamic arrays 2020-05-28 13:46:41 +05:30
invalid-eh.ll
invalid-frame-pointer-attr-empty.ll Verifier: Check frame-pointer attribute values 2019-12-11 19:53:49 +05:30
invalid-frame-pointer-attr-no-value.ll Verifier: Check frame-pointer attribute values 2019-12-11 19:53:49 +05:30
invalid-frame-pointer-attr.ll Verifier: Check frame-pointer attribute values 2019-12-11 19:53:49 +05:30
invalid-patchable-function-entry.ll Add function attribute "patchable-function-prefix" to support -fpatchable-function-entry=N,M where M>0 2020-01-23 17:02:27 -08:00
invalid-statepoint.ll [Statepoint] Remove code related to inline operand bundles 2020-08-14 20:29:41 -07:00
invalid-strbool-attr.ll Normalize interaction with boolean attributes 2021-04-17 08:17:33 +02:00
invalid-warn-stack-size.ll [IR] convert warn-stack-size from module flag to fn attr 2021-06-21 15:09:25 -07:00
invoke.ll
jumptable.ll
llvm.compiler_used-invalid-type.ll
llvm.dbg.declare-address.ll
llvm.dbg.declare-expression.ll
llvm.dbg.declare-variable.ll
llvm.dbg.intrinsic-dbg-attachment.ll
llvm.dbg.value-expression.ll
llvm.dbg.value-value.ll
llvm.dbg.value-variable.ll
llvm.loop-cu-strip-indirect.ll Support stripping indirectly referenced DILocations from !llvm.loop metadata 2021-05-27 13:23:33 -07:00
llvm.loop-cu-strip.ll Have stripDebugInfo() also strip !llvm.loop annotations from all 2021-02-05 17:22:41 -08:00
llvm.loop.cu.ll Visit previously unreachable nodes in the debug info metadata verifier. 2020-02-26 14:48:08 -08: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
masked-store.ll
matrix-intrinsics.ll [Matrix] Intrinsic descriptions 2020-07-14 19:58:16 +01:00
mdcompositetype-templateparams-tuple.ll
mdcompositetype-templateparams.ll
memcpy-inline.ll [instrinsics] Add @llvm.memcpy.inline instrinsics 2020-01-28 09:42:01 +01:00
memcpy.ll
metadata-function-dbg.ll [IR] Add DISuprogram and DIE for a func decl 2019-06-27 06:07:41 +00:00
metadata-function-prof.ll
module-flags-1.ll
module-flags-2.ll
module-flags-3.ll
module-flags-cgprofile.ll
module-flags-semantic-interposition.ll Implement -fsemantic-interposition 2020-01-31 14:02:33 +01:00
musttail-invalid.ll [Verifier] Check byval/etc type when comparing ABI attributes 2021-07-20 20:19:47 +02:00
musttail-valid.ll
noalias_scope_decl.ll Introduce llvm.noalias.decl intrinsic 2021-01-16 09:20:45 +01:00
non-integer-gep-index.ll
non-integer-gep-index.ll.bc
non-integral-pointers.ll Allow ptrtoint/inttoptr of non-integral pointer types in IR 2021-06-11 13:38:32 -07:00
noundef.ll [Verifier] Improve incompatible attribute type check 2021-07-14 21:02:10 +02:00
opaque-ptr-invalid.ll [OpaquePtr] Verify Opaque pointer in function parameter 2021-06-15 14:57:48 -07:00
opaque-ptr.ll [IR] Add elementtype attribute 2021-07-15 18:04:26 +02:00
operand-bundles.ll [ObjC][ARC] Ignore operand bundle "clang.arc.attachedcall" on a call if 2021-06-28 11:02:30 -07:00
pr34325.ll
preallocated-invalid.ll [Verifier] Improve incompatible attribute type check 2021-07-14 21:02:10 +02:00
preallocated-valid.ll [Preallocated] Add @llvm.call.preallocated.teardown 2020-07-08 08:48:44 -07:00
range-1.ll
range-2.ll
recursive-struct-param.ll
recursive-type-1.ll
recursive-type-2.ll
recursive-type-3.ll
recursive-type-load.ll Harden IR and bitcode parsers against infinite size types. 2020-05-16 14:24:51 -07:00
recursive-type-store.ll Harden IR and bitcode parsers against infinite size types. 2020-05-16 14:24:51 -07:00
reduction-intrinsics.ll [IR] restrict vector reduction intrinsic types 2021-02-21 12:37:00 -05:00
resume.ll
sat-intrinsics.ll [Verifier] add tests for saturating intrinsics; NFC 2021-02-19 14:58:25 -05:00
scalable-global-vars.ll [IR] Allow scalable vectors in structs to support intrinsics returning multiple values. 2021-01-17 23:29:51 -08:00
scalable-vector-struct-alloca.ll [IR] Allow scalable vectors in structs to support intrinsics returning multiple values. 2021-01-17 23:29:51 -08:00
scalable-vector-struct-load.ll [IR] Allow scalable vectors in structs to support intrinsics returning multiple values. 2021-01-17 23:29:51 -08:00
scalable-vector-struct-store.ll [IR] Allow scalable vectors in structs to support intrinsics returning multiple values. 2021-01-17 23:29:51 -08:00
scatter_gather.ll
set1.ll Add debug support for set types 2021-03-29 18:04:48 -07:00
speculatable-callsite-invalid.ll
speculatable-callsite.ll
sret.ll [Verifier] Improve incompatible attribute type check 2021-07-14 21:02:10 +02:00
statepoint.ll OpaquePtr: Bulk update tests to use typed sret 2020-11-20 17:58:26 -05:00
stepvector-intrinsic.ll [IR][SVE] Add new llvm.experimental.stepvector intrinsic 2021-03-23 10:43:35 +00:00
swiftasync.ll IR+AArch64: add a "swiftasync" argument attribute. 2021-05-14 11:43:58 +01:00
swifterror.ll [Verifier] Improve incompatible attribute type check 2021-07-14 21:02:10 +02:00
swifterror2.ll [AsmParser] Unify parsing of attributes 2021-07-15 17:51:11 +02:00
swifterror3.ll
swiftself.ll
swifttailcc-musttail-valid.ll SwiftTailCC: teach verifier musttail rules applicable to this CC. 2021-05-28 11:12:00 +01:00
swifttailcc-musttail.ll SwiftTailCC: teach verifier musttail rules applicable to this CC. 2021-05-28 11:12:00 +01:00
tailcc-musttail.ll SwiftTailCC: teach verifier musttail rules applicable to this CC. 2021-05-28 11:12:00 +01:00
tbaa-allowed.ll
tbaa.ll StoreInst should store Align, not MaybeAlign 2020-05-15 12:26:58 -07:00
token1-with-asserts.ll [NFC][Verifier] Split token1.ll into two, assert/non-assert versions 2021-04-28 13:58:38 +03:00
token1-without-asserts.ll [NFC][Verifier] Split token1.ll into two, assert/non-assert versions 2021-04-28 13:58:38 +03:00
token2.ll
token3.ll
token4.ll
token5.ll
token6.ll [X86][AMX] Verify illegal types or instructions for x86_amx. 2021-04-20 16:14:22 +08:00
token7.ll
unique-disubprogram.ll Add a verifier check that rejects non-distinct DISubprogram function 2020-09-25 12:04:46 -07:00
unsized-types-alloca.ll Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
unsized-types-load.ll Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
unsized-types-store.ll Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
varargs-intrinsic.ll
variant-part.ll
vp-intrinsics.ll [VP] Binary floating-point intrinsics. 2021-06-14 08:51:41 +02:00
vscale_range.ll [IR] Add vscale_range IR function attribute 2021-03-22 12:05:06 +00:00
weak-dllimport.ll Fix for PR46384. Failure on weak dllimport. 2020-09-02 19:12:24 -07:00
writeonly.ll
x86_amx1.ll [X86][AMX] Verify illegal types or instructions for x86_amx. 2021-04-20 16:14:22 +08:00
x86_amx2.ll [X86][AMX] Verify illegal types or instructions for x86_amx. 2021-04-20 16:14:22 +08:00
x86_amx3.ll [X86][AMX] Verify illegal types or instructions for x86_amx. 2021-04-20 16:14:22 +08:00
x86_amx4.ll [X86][AMX] Verify illegal types or instructions for x86_amx. 2021-04-20 16:14:22 +08:00
x86_amx5.ll [X86][AMX] Verify illegal types or instructions for x86_amx. 2021-04-20 16:14:22 +08:00
x86_amx6.ll [X86][AMX] Verify illegal types or instructions for x86_amx. 2021-04-20 16:14:22 +08:00
x86_amx7.ll [X86][AMX] Verify illegal types or instructions for x86_amx. 2021-04-20 16:14:22 +08:00
x86_amx8.ll [X86][AMX] Verify illegal types or instructions for x86_amx. 2021-04-20 16:14:22 +08:00
x86_amx9.ll [X86][AMX] Verify illegal types or instructions for x86_amx. 2021-04-20 16:14:22 +08:00
x86_intr.ll OpaquePtr: Require byval on x86_intrcc parameter 0 2020-12-14 16:34:37 -05: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.