llvm-6502/test/Verifier
Duncan P. N. Exon Smith 94255c8eb0 Verifier: Check that @llvm.dbg.* intrinsics have a !dbg attachment
Before we start to rely on valid `!dbg` attachments, add a check to the
verifier that `@llvm.dbg.*` intrinsics always have one.  Also check that
the `scope:` fields point at the same `MDSubprogram`.

This is in the context of PR22778.  The check that the `inlinedAt:`
fields agree has baked for a while (since r234021), so I'll kill [1] the
`MDLocalVariable::getInlinedAt()` field soon.

[1]: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20150330/269387.html

Unfortunately, that means it's impossible to keep the current `Verifier`
checks, which rely on comparing `inlinedAt:` fields.  We'll be able to
keep the checks I'm adding here.

If this breaks your out-of-tree testcases, the upgrade script
(add-dbg-to-intrinsics.sh) attached to PR22778 that I used for r235040
might fix them for you.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235048 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-15 22:15:46 +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 Allow alias to point to an arbitrary ConstantExpr. 2014-06-03 02:41:57 +00:00
bitcast-vector-pointer-as.ll
byval-1.ll For all RUN lines starting with "not", redirect stderr to /dev/null so tests 2008-06-10 12:57:32 +00:00
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 Verifier: Add a testcase for verifying type refs 2015-03-31 20:57:56 +00:00
dbg.ll Verifier: Start recursing into !dbg attachments 2015-03-24 17:32:19 +00:00
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 For all RUN lines starting with "not", redirect stderr to /dev/null so tests 2008-06-10 12:57:32 +00:00
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
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 DebugInfo: Add missing !dbg attachments to intrinsics 2015-04-15 21:04:10 +00:00
llvm.dbg.declare-expression.ll Verifier: Check fields of MDVariable subclasses 2015-03-27 17:29:58 +00:00
llvm.dbg.declare-variable.ll Verifier: Check that @llvm.dbg.* intrinsics have a !dbg attachment 2015-04-15 22:15:46 +00:00
llvm.dbg.intrinsic-dbg-attachment.ll Verifier: Check that @llvm.dbg.* intrinsics have a !dbg attachment 2015-04-15 22:15:46 +00:00
llvm.dbg.value-expression.ll Verifier: Check that @llvm.dbg.* intrinsics have a !dbg attachment 2015-04-15 22:15:46 +00:00
llvm.dbg.value-value.ll DebugInfo: Add missing !dbg attachments to intrinsics 2015-04-15 21:04:10 +00:00
llvm.dbg.value-variable.ll Verifier: Check that @llvm.dbg.* intrinsics have a !dbg attachment 2015-04-15 22:15:46 +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
mdcompositetype-templateparams-tuple.ll Verifier: Check composite type template params 2015-04-06 17:04:58 +00:00
mdcompositetype-templateparams.ll Verifier: Check composite type template params 2015-04-06 17:04:58 +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 musttail: Fix the verification of alignment attributes 2014-05-15 23:58:57 +00:00
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 Allow sret on the second parameter as well as the first 2014-05-09 22:32:13 +00:00
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.