1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
llvm-mirror/test/Verifier
Nikita Popov 168546a427 [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
ARM
Mips
SystemZ
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
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
alias.ll
align-md.ll
align.ll
alloc-size-failedparse.ll
allocsize.ll
AmbiguousPhi.ll
amdgpu-cc.ll
annotation-metadata.ll
array_allocated.ll
array_associated.ll
array_dataLocation.ll
array_rank.ll
assume-bundles.ll
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
bswap.ll
byref.ll
byval-1.ll
byval-4.ll
callbr.ll
callsite-dbgloc.ll
cc-flags.ll
comdat2.ll
comdat3.ll
comdat-decl1.ll
comdat-decl2.ll
comdat.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
dereferenceable-md.ll
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
diexpression-entry-value-llvm-ir.ll
diexpression-entry-value.ll
diexpression-swap.ll
diexpression-valid-entry-value.ll
DIFile.ll
digenericsubrange-count-upperBound.ll
digenericsubrange-missing-stride.ll
digenericsubrange-missing-upperBound.ll
diglobalvariable.ll
dilocation-in-wrong-place.ll
DILocation-parents.ll
DILocation-scope.ll
disubprogram-name-match-only.ll
DISubprogram.ll
disubrange-count-upperBound.ll
disubrange-missing-upperBound.ll
dominates.ll
element-wise-atomic-memory-intrinsics.ll
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
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
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
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
inalloca1.ll
inalloca2.ll
inalloca3.ll
inalloca-vararg.ll
insert-extract-intrinsics-invalid.ll
insert-vector-mismatched-element-types.ll
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
intrinsic-bad-arg-type.ll
intrinsic-immarg.ll
invalid-disubrange-count-node.ll
invalid-disubrange-lowerBound.ll
invalid-disubrange-stride.ll
invalid-disubrange-upperBound.ll
invalid-eh.ll
invalid-frame-pointer-attr-empty.ll
invalid-frame-pointer-attr-no-value.ll
invalid-frame-pointer-attr.ll
invalid-patchable-function-entry.ll
invalid-statepoint.ll
invalid-strbool-attr.ll
invalid-warn-stack-size.ll
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
llvm.loop-cu-strip.ll
llvm.loop.cu.ll
llvm.loop.ll
llvm.used-invalid-init2.ll
llvm.used-invalid-init.ll
llvm.used-invalid-type2.ll
llvm.used-invalid-type.ll
llvm.used-ptr-type.ll
masked-load.ll
masked-store.ll
matrix-intrinsics.ll
mdcompositetype-templateparams-tuple.ll
mdcompositetype-templateparams.ll
memcpy-inline.ll
memcpy.ll
metadata-function-dbg.ll
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
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
non-integer-gep-index.ll
non-integer-gep-index.ll.bc
non-integral-pointers.ll
noundef.ll
opaque-ptr-invalid.ll
opaque-ptr.ll
operand-bundles.ll
PhiGrouping.ll
pr34325.ll
preallocated-invalid.ll
preallocated-valid.ll
range-1.ll
range-2.ll
README.txt
recursive-struct-param.ll
recursive-type-1.ll
recursive-type-2.ll
recursive-type-3.ll
recursive-type-load.ll
recursive-type-store.ll
reduction-intrinsics.ll
resume.ll
sat-intrinsics.ll
scalable-global-vars.ll
scalable-vector-struct-alloca.ll
scalable-vector-struct-load.ll
scalable-vector-struct-store.ll
scatter_gather.ll
SelfReferential.ll
set1.ll
speculatable-callsite-invalid.ll
speculatable-callsite.ll
sret.ll
statepoint.ll
stepvector-intrinsic.ll
swiftasync.ll
swifterror2.ll
swifterror3.ll
swifterror.ll
swiftself.ll
swifttailcc-musttail-valid.ll
swifttailcc-musttail.ll
tailcc-musttail.ll
tbaa-allowed.ll
tbaa.ll
token1-with-asserts.ll
token1-without-asserts.ll
token2.ll
token3.ll
token4.ll
token5.ll
token6.ll
token7.ll
unique-disubprogram.ll
unsized-types-alloca.ll
unsized-types-load.ll
unsized-types-store.ll
varargs-intrinsic.ll
variant-part.ll
vp-intrinsics.ll
vscale_range.ll
weak-dllimport.ll
writeonly.ll
x86_amx1.ll
x86_amx2.ll
x86_amx3.ll
x86_amx4.ll
x86_amx5.ll
x86_amx6.ll
x86_amx7.ll
x86_amx8.ll
x86_amx9.ll
x86_intr.ll

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.