llvm-project/llvm/test/Verifier
Guillaume Chatelet 38637ee477 [clang] Add support for __builtin_memset_inline
In the same spirit as D73543 and in reply to https://reviews.llvm.org/D126768#3549920 this patch is adding support for `__builtin_memset_inline`.

The idea is to get support from the compiler to easily write efficient memory function implementations.

This patch could be split in two:
 - one for the LLVM part adding the `llvm.memset.inline.*` intrinsics.
 - and another one for the Clang part providing the instrinsic as a builtin.

Differential Revision: https://reviews.llvm.org/D126903
2022-06-10 13:13:59 +00: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 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
aarch64-ldstxr.ll [OpaquePtr][AArch64] Use elementtype on ldxr/stxr 2022-03-14 10:09:59 -07:00
access_group.ll [Verifier] Verify llvm.access.group metadata 2022-03-14 16:16:36 +01:00
alias-scope-metadata.ll [Verifier] Verify scoped noalias metadata 2021-09-20 18:27:28 +02:00
alias.ll
align-md.ll Reland [IR] Increase max alignment to 4GB 2021-10-06 13:29:23 -07:00
align.ll [Verifier] Improve incompatible attribute type check 2021-07-14 21:02:10 +02:00
alloc-size-failedparse.ll
allockind.ll attributes: introduce allockind attr for describing allocator fn behavior 2022-05-31 10:01:17 -04:00
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
arm-intrinsics.ll [OpaquePtr][ARM] Use elementtype on ldrex/ldaex/stlex/strex 2022-03-16 14:11:53 -07:00
array_allocated.ll
array_associated.ll
array_dataLocation.ll
array_rank.ll [DebugInfo] Support for DWARF attribute DW_AT_rank 2020-10-10 17:51:12 +05:30
assume-bundles.ll [Verifier] Add context for assume operand bundles verifier errors 2021-10-19 09:52:04 -07: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
bswap.ll
byref.ll [Verifier] Improve incompatible attribute type check 2021-07-14 21:02:10 +02:00
byval-1.ll [IR] Enable opaque pointers by default 2022-06-02 09:40:56 +02:00
byval-4.ll OpaquePtr: Bulk update tests to use typed byval 2020-11-20 14:00:46 -05:00
callbr.ll [llvm][test] rewrite callbr to use i rather than X constraint NFC 2022-01-11 11:31:08 -08:00
callsite-dbgloc.ll
cc-flags.ll
comdat-decl1.ll
comdat-decl2.ll
comdat.ll
comdat2.ll
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
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 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
disubprogram-name-match-only.ll
disubrange-count-upperBound.ll
disubrange-missing-upperBound.ll
dominates.ll
element-wise-atomic-memory-intrinsics.ll
elementtype.ll [LangRef] Require elementtype attribute for indirect inline asm operands 2022-01-04 10:02:06 +01: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 [OpaquePtr] Forbid mixing typed and opaque pointers 2021-09-10 15:18:23 +02:00
fp-intrinsics.ll Reapply "[Intrinsics] Add `nocallback` to the default intrinsic attributes" 2022-03-25 09:36:50 -05: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 [IR] Enable opaque pointers by default 2022-06-02 09:40:56 +02:00
global-ctors-2.ll
global-ctors.ll
guard-intrinsic.ll
ident-meta1.ll
ident-meta2.ll
ident-meta3.ll
ident-meta4.ll
ifunc.ll [Verifier] Restore defined-resolver verification for IFuncs 2022-02-26 12:56:14 +02:00
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
inline-asm-indirect-operand.ll [Verifier] Enforce elementtype attr for inline asm indirect constraints 2022-01-06 15:22:00 +01: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
intrinsic-bad-arg-type.ll
intrinsic-immarg.ll [clang] Add support for __builtin_memset_inline 2022-06-10 13:13:59 +00:00
invalid-cleanuppad-chain.ll [Verifier] Avoid asserting on invalid cleanuppad chain 2022-01-14 12:10:41 +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
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-splice.ll [IR] Change vector.splice intrinsic to reject out-of-bounds indices 2022-01-11 09:37:39 +00:00
invalid-statepoint.ll [Verifier] Require elementtype on gc.statepoint intrinsics 2022-02-04 14:29:53 +01:00
invalid-strbool-attr.ll Normalize interaction with boolean attributes 2021-04-17 08:17:33 +02:00
invalid-vp-intrinsics.ll [VP] Add vp.icmp comparison intrinsic and docs 2022-03-30 17:05:11 +01: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
invariant.group.ll [Verifier] Only allow invariant.group metadata on stores and loads 2021-09-02 12:49:04 -07:00
invoke.ll [ObjC][ARC] Use the addresses of the ARC runtime functions instead of 2021-09-08 11:58:03 -07:00
jumptable.ll [IR] Enable opaque pointers by default 2022-06-02 09:40:56 +02:00
llvm.compiler_used-invalid-type.ll [IR] Enable opaque pointers by default 2022-06-02 09:40:56 +02:00
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.fptrunc.round.ll [AMDGPU] Add a new intrinsic to control fp_trunc rounding mode 2022-02-11 12:08:23 -05:00
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
llvm.loop.ll
llvm.used-invalid-init.ll
llvm.used-invalid-init2.ll [Verifier] Make error message precise about which variable is being diagnosed. 2021-12-15 16:05:31 -08:00
llvm.used-invalid-type.ll [IR] Enable opaque pointers by default 2022-06-02 09:40:56 +02:00
llvm.used-invalid-type2.ll [IR] Enable opaque pointers by default 2022-06-02 09:40:56 +02:00
llvm.used-ptr-type.ll
masked-load.ll
masked-store.ll
matrix-intrinsics-opaque-ptrs.ll [Verifier] Make matrix intrinsic verification compatible with opaque pointers 2021-12-01 16:26:05 +01:00
matrix-intrinsics.ll Recommit "[Matrix] Overload stride arg in matrix.columnwise.load/store." 2021-08-12 18:31:57 +01:00
mdcompositetype-templateparams-tuple.ll
mdcompositetype-templateparams.ll
memcpy-inline.ll
memcpy.ll
memset-inline.ll [clang] Add support for __builtin_memset_inline 2022-06-10 13:13:59 +00:00
metadata-function-dbg.ll [IR] Enable opaque pointers by default 2022-06-02 09:40:56 +02:00
metadata-function-prof.ll
module-flags-1.ll Support the min of module flags when linking, use for AArch64 BTI/PAC-RET 2022-04-13 09:31:51 +02:00
module-flags-2.ll
module-flags-3.ll
module-flags-cgprofile.ll
module-flags-semantic-interposition.ll
musttail-invalid.ll [OpaquePtr] Forbid mixing typed and opaque pointers 2021-09-10 15:18:23 +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] Forbid mixing typed and opaque pointers 2021-09-10 15:18:23 +02:00
opaque-ptr.ll [OpaquePtr] Forbid mixing typed and opaque pointers 2021-09-10 15:18:23 +02:00
operand-bundles.ll [ObjCARC] Require the function argument in the clang.arc.attachedcall bundle. 2022-01-28 12:41:45 -08:00
param-align.ll [Verifier] Verify parameter alignment. 2022-03-27 08:35:05 +08:00
param-attr-align.ll Verify parameter alignment attribute 2022-03-27 09:03:22 +08:00
param-ret-align.ll [Verifier] Verify parameter alignment. 2022-03-27 08:35:05 +08:00
pr34325.ll
preallocated-invalid.ll [Verifier] Improve incompatible attribute type check 2021-07-14 21:02:10 +02:00
preallocated-valid.ll
ptrauth-operand-bundles.ll [IR] Define "ptrauth" operand bundle. 2022-02-14 11:27:35 -08: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
recursive-type-store.ll
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 [Statepoint] Update gc.statepoint calls in tests with elementtype (NFC) 2022-02-04 14:15:41 +01: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] Check type of swifterror alloca 2022-03-11 14:52:56 +01: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
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
unsized-types-load.ll
unsized-types-store.ll
varargs-intrinsic.ll
variant-part.ll
vp-intrinsics.ll [VP] Add more cast VPintrinsic and docs. 2022-04-01 09:16:10 +08:00
vscale_range.ll [IR] Remove unbounded as possible value for vscale_range minimum 2021-12-07 09:52:21 +00:00
weak-dllimport.ll
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 [NFC] Use llvm-as instead of llc 2022-02-01 13:07:22 -06: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.