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
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
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
comdat3.ll
comdat.ll
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
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
ident-meta2.ll
ident-meta3.ll
ident-meta4.ll
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
jumptable.ll
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
module-flags-2.ll
module-flags-3.ll
musttail-invalid.ll
musttail-valid.ll
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
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.