llvm-6502/test/Verifier
Duncan P. N. Exon Smith 08e687e684 Verifier: Check debug info intrinsic arguments
Verify that debug info intrinsic arguments are valid.  (These checks
will not recurse through the full debug info graph, so they don't need
to be cordoned of in `DebugInfoVerifier`.)

With those checks in place, changing the `DbgIntrinsicInst` accessors to
downcast to `MDLocalVariable` and `MDExpression` is natural (added isa
specializations in `Metadata.h` to support this).

Added tests to `test/Verifier` for the new -verify checks, and fixed the
debug info in all the in-tree tests.

If you have out-of-tree testcases that have started to fail to -verify,
hopefully the verify checks are helpful.  The most likely problem is
that the expression argument is `!{}` (instead of `!MDExpression()`).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232296 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-15 01:21:30 +00:00
..
2002-04-13-RetTypes.ll
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
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
2007-12-21-InvokeParamAttrs.ll
2008-01-11-VarargAttrs.ll
2008-03-01-AllocaSized.ll AsmParser: Reject alloca with function type 2015-02-16 08:38:03 +00:00
2008-08-22-MemCpyAlignment.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 [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
bitcast-address-space-nested-global-cycle.ll
bitcast-address-space-nested-global.ll
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
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
bitcast-address-spaces.ll
bitcast-alias-address-space.ll
bitcast-vector-pointer-as.ll
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
dominates.ll
fpmath.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
frameescape.ll Replace llvm.frameallocate with llvm.frameescape 2015-03-05 18:26:34 +00:00
gcread-ptrptr.ll
gcroot-alloca.ll
gcroot-meta.ll
gcroot-ptrptr.ll
gcwrite-ptrptr.ll
global-ctors.ll
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
inalloca2.ll
inalloca3.ll
inalloca-vararg.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
invalid-statepoint2.ll Fix another verifier crash where a GC intrinsic would look at the internals of another intrinsic in order to verify itself. 2015-03-11 06:57:30 +00:00
invalid-statepoint.ll Fix an issue in the verifier where we could try to read information out of a malformed statepoint intrinsic. 2015-03-10 05:58:21 +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
llvm.dbg.declare-address.ll Verifier: Check debug info intrinsic arguments 2015-03-15 01:21:30 +00:00
llvm.dbg.declare-expression.ll Verifier: Check debug info intrinsic arguments 2015-03-15 01:21:30 +00:00
llvm.dbg.declare-variable.ll Verifier: Check debug info intrinsic arguments 2015-03-15 01:21:30 +00:00
llvm.dbg.value-expression.ll Verifier: Check debug info intrinsic arguments 2015-03-15 01:21:30 +00:00
llvm.dbg.value-value.ll Verifier: Check debug info intrinsic arguments 2015-03-15 01:21:30 +00:00
llvm.dbg.value-variable.ll Verifier: Check debug info intrinsic arguments 2015-03-15 01:21:30 +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
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
musttail-valid.ll Verifier: Don't reject varargs callee cleanup functions 2014-08-29 21:25:28 +00:00
PhiGrouping.ll
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
recursive-type-2.ll
recursive-type-3.ll
SelfReferential.ll
sret.ll
statepoint.ll Implement invoke statepoint verification. 2015-02-19 11:28:47 +00:00
varargs-intrinsic.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.