llvm/test/Verifier
Sanjoy Das ead2d1fbe0 [Statepoints] Support for "patchable" statepoints.
Summary:
This change adds two new parameters to the statepoint intrinsic, `i64 id`
and `i32 num_patch_bytes`.  `id` gets propagated to the ID field
in the generated StackMap section.  If the `num_patch_bytes` is
non-zero then the statepoint is lowered to `num_patch_bytes` bytes of
nops instead of a call (the spill and reload code remains unchanged).
A non-zero `num_patch_bytes` is useful in situations where a language
runtime requires complete control over how a call is lowered.

This change brings statepoints one step closer to patchpoints.  With
some additional work (that is not part of this patch) it should be
possible to get rid of `TargetOpcode::STATEPOINT` altogether.

PlaceSafepoints generates `statepoint` wrappers with `id` set to
`0xABCDEF00` (the old default value for the ID reported in the stackmap)
and `num_patch_bytes` set to `0`.  This can be made more sophisticated
later.

Reviewers: reames, pgavlin, swaroop.sridhar, AndyAyers

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D9546

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237214 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-12 23:52:24 +00:00
..
2002-04-13-RetTypes.ll Rewrite test/Verifier tests to use FileCheck instead of grep 2013-04-08 18:33:51 +00:00
2002-11-05-GetelementptrPointers.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
2004-05-21-SwitchConstantMismatch.ll
2006-07-11-StoreStruct.ll Rewrite test/Verifier tests to use FileCheck instead of grep 2013-04-08 18:33:51 +00:00
2006-10-15-AddrLabel.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2006-12-12-IntrinsicDefine.ll Rewrite test/Verifier tests to use FileCheck instead of grep 2013-04-08 18:33:51 +00:00
2007-12-21-InvokeParamAttrs.ll
2008-01-11-VarargAttrs.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
2008-03-01-AllocaSized.ll AsmParser: Reject alloca with function type 2015-02-16 08:38:03 +00:00
2008-08-22-MemCpyAlignment.ll Rewrite test/Verifier tests to use FileCheck instead of grep 2013-04-08 18:33:51 +00:00
2008-11-15-RetVoid.ll Rewrite test/Verifier tests to use FileCheck instead of grep 2013-04-08 18:33:51 +00:00
2009-05-29-InvokeResult1.ll
2009-05-29-InvokeResult2.ll
2009-05-29-InvokeResult3.ll
2010-08-07-PointerIntrinsic.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
alias.ll Use "weak alias" instead of "alias weak" 2014-07-30 22:51:54 +00:00
AmbiguousPhi.ll Rewrite test/Verifier tests to use FileCheck instead of grep 2013-04-08 18:33:51 +00:00
bitcast-address-space-nested-global-cycle.ll Fix all the verifier tests I added for address spaces. 2014-01-02 21:09:05 +00:00
bitcast-address-space-nested-global.ll Fix all the verifier tests I added for address spaces. 2014-01-02 21:09:05 +00:00
bitcast-address-space-through-constant-inttoptr-inside-gep-instruction.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
bitcast-address-space-through-constant-inttoptr.ll Fix all the verifier tests I added for address spaces. 2014-01-02 21:09:05 +00:00
bitcast-address-space-through-gep-2.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
bitcast-address-space-through-gep.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
bitcast-address-space-through-inttoptr.ll Fix all the verifier tests I added for address spaces. 2014-01-02 21:09:05 +00:00
bitcast-address-spaces.ll Fix all the verifier tests I added for address spaces. 2014-01-02 21:09:05 +00:00
bitcast-alias-address-space.ll Allow alias to point to an arbitrary ConstantExpr. 2014-06-03 02:41:57 +00:00
bitcast-vector-pointer-as.ll Fix all the verifier tests I added for address spaces. 2014-01-02 21:09:05 +00:00
byval-1.ll
byval-4.ll
comdat2.ll Change the .ll syntax for comdats and add a syntactic sugar. 2015-01-06 22:55:16 +00:00
comdat3.ll Verifier: Unused comdats might not have a corresponding GV 2015-02-20 19:58:48 +00:00
comdat.ll Change the .ll syntax for comdats and add a syntactic sugar. 2015-01-06 22:55:16 +00:00
cttz-undef-arg.ll
dbg-typerefs.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
dbg.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
dominates.ll
fpmath.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
frameescape.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
gcread-ptrptr.ll
gcroot-alloca.ll
gcroot-meta.ll
gcroot-ptrptr.ll
gcwrite-ptrptr.ll
global-ctors.ll Add comdat key field to llvm.global_ctors and llvm.global_dtors 2014-05-16 20:39:27 +00:00
ident-meta1.ll IR: Stop printing 'metadata' in Metadata::print() 2014-12-16 07:40:31 +00:00
ident-meta2.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
ident-meta3.ll IR: Stop printing 'metadata' in Metadata::print() 2014-12-16 07:40:31 +00:00
ident-meta4.ll Verifier: Make sure !llvm.ident's operand isn't null 2015-02-11 08:23:20 +00:00
inalloca1.ll Change inalloca rules to make it only apply to the last parameter 2014-01-16 22:59:24 +00:00
inalloca2.ll IR: Change inalloca's grammar a bit 2014-03-09 06:41:58 +00:00
inalloca3.ll IR: Conservatively verify inalloca arguments 2014-04-30 17:22:00 +00:00
inalloca-vararg.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
invalid-patchable-statepoint.ll [Statepoints] Support for "patchable" statepoints. 2015-05-12 23:52:24 +00:00
invalid-statepoint2.ll [Statepoints] Support for "patchable" statepoints. 2015-05-12 23:52:24 +00:00
invalid-statepoint.ll [Statepoints] Support for "patchable" statepoints. 2015-05-12 23:52:24 +00:00
invoke.ll [Stackmaps] Enable invoking the patchpoint intrinsic. 2014-10-17 17:39:00 +00:00
jumptable.ll Don't manually (and forcibly) run the verifier on the entire module from 2014-07-30 05:44:04 +00:00
llvm.compiler_used-invalid-type.ll s/compiler_used/compiler.used/. 2013-07-19 18:44:51 +00:00
llvm.dbg.declare-address.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
llvm.dbg.declare-expression.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
llvm.dbg.declare-variable.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
llvm.dbg.intrinsic-dbg-attachment.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
llvm.dbg.value-expression.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
llvm.dbg.value-value.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
llvm.dbg.value-variable.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
llvm.used-invalid-init2.ll Clarify that llvm.used can contain aliases. 2013-04-22 14:58:02 +00:00
llvm.used-invalid-init.ll Clarify that llvm.used can contain aliases. 2013-04-22 14:58:02 +00:00
llvm.used-invalid-type2.ll Fix typo in test. 2013-07-22 21:10:42 +00:00
llvm.used-invalid-type.ll Clarify that llvm.used can contain aliases. 2013-04-22 14:58:02 +00:00
llvm.used-ptr-type.ll Clarify that llvm.used can contain aliases. 2013-04-22 14:58:02 +00:00
mdcompositetype-templateparams-tuple.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
mdcompositetype-templateparams.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
memcpy.ll Teach the verifier to enforce that the alignment argument of memory intrinsics must be a power of 2. 2015-03-02 09:35:06 +00:00
module-flags-1.ll IR: Stop printing 'metadata' in Metadata::print() 2014-12-16 07:40:31 +00:00
module-flags-2.ll Verifier: Check for null operands in !llvm.module.flags 2015-02-11 09:13:06 +00:00
module-flags-3.ll Verifier: Diagnose module flags which have null ID operands 2015-02-16 08:14:22 +00:00
musttail-invalid.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
musttail-valid.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
PhiGrouping.ll Rewrite test/Verifier tests to use FileCheck instead of grep 2013-04-08 18:33:51 +00:00
range-1.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
range-2.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
README.txt
recursive-struct-param.ll Fix an infinite recursion in the verifier caused by calling isSized on a recursive type. 2015-03-13 06:41:26 +00:00
recursive-type-1.ll Fix the segfault reported in PR 11990. 2013-12-07 00:13:34 +00:00
recursive-type-2.ll Fix the segfault reported in PR 11990. 2013-12-07 00:13:34 +00:00
recursive-type-3.ll Fix the segfault reported in PR 11990. 2013-12-07 00:13:34 +00:00
SelfReferential.ll Rewrite test/Verifier tests to use FileCheck instead of grep 2013-04-08 18:33:51 +00:00
sret.ll Allow sret on the second parameter as well as the first 2014-05-09 22:32:13 +00:00
statepoint.ll [Statepoints] Support for "patchable" statepoints. 2015-05-12 23:52:24 +00:00
varargs-intrinsic.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00

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.