1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
llvm-mirror/test/Verifier
Sjoerd Meijer 259a327aae New intrinsic @llvm.get.active.lane.mask()
This is split off from D79100 and:
- adds a intrinsic description/definition for @llvm.get.active.lane.mask(), and
- describe its semantics in LangRef.

As described (in more detail) in its LangRef section, it is semantically
equivalent to an icmp with the vector induction variable and the back-edge
taken count, and generates a mask of active/inactive vector lanes.

It will have several use cases. First, it will be used by the
ExpandVectorPredication pass for the VP intrinsics, to expand VP intrinsics for
scalable vectors on targets that do not support the `%evl` parameter, see
D78203.

Also, this is part of, and essential for our ARM MVE tail-predication story:
- this intrinsic will be emitted by the LoopVectorizer in D79100, when
  the scalar epilogue is tail-folded into the vector body. This new intrinsic
  will generate the predicate for the masked loads/stores, and it takes the
  back-edge taken count as an argument. The back-edge taken count represents the
  number of elements processed by the loop, which we need to setup MVE
  tail-predication.
- Emitting the intrinsic is controlled by a new TTI hook, see D80597.
- We pick up this new intrinsic in an ARM MVETailPredication backend pass, see
  D79175, and convert it to a MVE target specific intrinsic/instruction to
  create a tail-predicated loop.

Differential Revision: https://reviews.llvm.org/D80596
2020-05-29 08:51:40 +01:00
..
AMDGPU AMDGPU: Fix missing immarg on llvm.amdgcn.interp.mov 2020-01-22 09:01:34 -05: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
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
alloc-size-failedparse.ll
allocsize.ll
AmbiguousPhi.ll
amdgpu-cc.ll
array_dataLocation.ll [DebugInfo] support for DW_AT_data_location in llvm 2020-05-15 11:33:17 +05:30
assume-bundles.ll [AssumeBundles] Enforce constraints on the operand bundle of llvm.assume 2020-03-11 23:53:48 +01: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 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
byval-1.ll
byval-4.ll
callbr.ll [Verifier] add invariant check for callbr 2019-09-25 22:28:27 +00:00
callsite-dbgloc.ll
cc-flags.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
comdat-decl1.ll
comdat-decl2.ll
comdat.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
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 [Verifier] Reject invalid type for DILocalVariable. 2019-01-07 23:09:09 +00:00
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 Debug Info: Support address space attributes on rvalue references. 2019-05-07 17:42:38 +00:00
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 [DebugInfo] Add a DW_OP_LLVM_entry_value operation 2019-10-15 11:31:21 +00:00
DIFile.ll
diglobalvariable.ll
dilocation-in-wrong-place.ll [Verifier] Constrain where DILocations may be nested 2020-05-04 14:02:43 -07:00
DILocation-parents.ll
DILocation-scope.ll Verifier: verify that a DILocation's scope is a DILocalScope. 2018-08-24 21:01:58 +00:00
disubprogram-name-match-only.ll More principled implementation of DISubprogram::describes() 2020-03-02 10:03:14 -08:00
DISubprogram.ll
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
fnarg-debuginfo.ll
fnarg-nodebug.ll
fp-intrinsics.ll [FPEnv] Strict FP tests should use the requisite function attributes. 2019-10-04 17:03:46 +00:00
fpmath.ll
fragment.ll
frameescape.ll IR: Add immarg attribute 2019-03-12 21:02:54 +00:00
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 Replace gcroot verifier tests 2019-02-14 22:41:01 +00:00
gcwrite-ptrptr.ll
get-active-lane-mask.ll New intrinsic @llvm.get.active.lane.mask() 2020-05-29 08:51:40 +01: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
inalloca1.ll
inalloca2.ll
inalloca3.ll
inalloca-vararg.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-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
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-statepoint2.ll
invalid-statepoint.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.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-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 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
matrix-intrinsics.ll [Verifier] Verify matrix dimensions operands match vector size. 2020-04-01 09:21:39 +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 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
module-flags-semantic-interposition.ll Implement -fsemantic-interposition 2020-01-31 14:02:33 +01:00
musttail-invalid.ll
musttail-valid.ll
non-integer-gep-index.ll
non-integer-gep-index.ll.bc
non-integral-pointers.ll
operand-bundles.ll
PhiGrouping.ll
pr34325.ll
preallocated-invalid.ll Modify verifier checks to support musttail + preallocated 2020-05-26 15:20:20 -07:00
preallocated-valid.ll Modify verifier checks to support musttail + preallocated 2020-05-26 15:20:20 -07:00
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 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
resume.ll
scalable-global-vars.ll Scalable Vector IR Type with further LTO fixes 2019-07-05 12:48:16 +00:00
scatter_gather.ll
SelfReferential.ll
speculatable-callsite-invalid.ll
speculatable-callsite.ll
sret.ll
statepoint.ll [IRVerifier] Allow StructRet in statepoint 2018-11-16 14:28:05 +00:00
swifterror2.ll
swifterror3.ll
swifterror.ll
swiftself.ll
tbaa-allowed.ll
tbaa.ll StoreInst should store Align, not MaybeAlign 2020-05-15 12:26:58 -07:00
token1.ll
token2.ll
token3.ll
token4.ll
token5.ll
token6.ll
token7.ll
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,Integer,#1] Vector-predicated integer intrinsics 2020-03-19 10:51:47 +01:00
writeonly.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.