llvm/test/Verifier
Adrian Prantl fb2cee97e4 Teach the IR verifier to reject conflicting debug info for function arguments.
Conflicting debug info for function arguments causes hard-to-debug
assertions in the DWARF backend, so the Verifier should reject it.
For performance reasons this only checks function arguments from
non-inlined debug intrinsics for now.

rdar://problem/30520286

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@295749 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-21 19:03:15 +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 Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +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 Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
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 Upgrade old memset/memcpy signatures (without isVolatile argument) in tests 2016-06-22 15:16:06 +00:00
alias.ll Don't IPO over functions that can be de-refined 2016-04-08 00:48:30 +00:00
align-md.ll Add verification for align, dereferenceable, dereferenceable_or_null load metadata 2015-10-09 17:41:29 +00:00
alloc-size-failedparse.ll Add the allocsize attribute to LLVM. 2016-04-12 01:05:35 +00:00
allocsize.ll Add the allocsize attribute to LLVM. 2016-04-12 01:05:35 +00:00
AmbiguousPhi.ll
atomics.ll Polish atomic pointers 2015-12-17 22:09:19 +00:00
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 [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
bitcast-vector-pointer-as.ll
byval-1.ll
byval-4.ll
callsite-dbgloc.ll Verifier: Verify that each inlinable callsite of a debug-info-bearing function 2016-04-24 22:23:13 +00:00
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-decl1.ll Verifier: Forbid comdats on linker declarations. 2015-07-05 20:52:40 +00:00
comdat-decl2.ll Verifier: Forbid comdats on linker declarations. 2015-07-05 20:52:40 +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-difile-crash.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
dbg-invalid-compileunit.ll [IRVerifier] Avoid crashing on an invalid compile unit. 2016-04-06 03:07:58 +00:00
dbg-invalid-named-metadata.ll Verifier: Reject any unknown named MD nodes in the llvm.dbg namespace. 2016-10-05 22:15:37 +00:00
dbg-invalid-retaintypes.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
dbg-line-without-file.ll Verifier: Disallow a line number without a file in DISubprogram 2017-02-17 23:57:42 +00:00
dbg-null-retained-type.ll Verifier: Don't crash on null entries in debug info retained types list 2015-08-22 22:36:40 +00:00
dbg-orphaned-compileunit.ll [IR/Verifier] List the CU we weren't able to find in llvm.dbg.cu. 2017-02-20 22:51:42 +00:00
dbg-typerefs.ll DebugInfo: Remove MDString-based type references 2016-04-23 21:08:00 +00:00
dbg.ll DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
deoptimize-intrinsic.ll All llvm.deoptimize declarations must use the same calling convention 2016-05-12 01:17:38 +00:00
dereferenceable-md.ll Add verification for align, dereferenceable, dereferenceable_or_null load metadata 2015-10-09 17:41:29 +00:00
diglobalvariable.ll [IR] Remove the DIExpression field from DIGlobalVariable. 2016-12-20 02:09:43 +00:00
dominates.ll [Verifier] Reject PHIs using defs from own block. 2016-03-26 23:32:57 +00:00
element-wise-atomic-memory-intrinsics.ll Introduce element-wise atomic memcpy intrinsic 2016-12-29 14:31:07 +00:00
fnarg-debuginfo.ll Teach the IR verifier to reject conflicting debug info for function arguments. 2017-02-21 19:03:15 +00:00
fp-intrinsics.ll Add intrinsics for constrained floating point operations 2017-01-26 23:27:59 +00:00
fpmath.ll Verifier: Reject non-float !fpmath 2016-06-27 19:43:15 +00:00
frameescape.ll Rename llvm.frameescape and llvm.framerecover to localescape and localrecover 2015-07-07 22:25:32 +00:00
func-dbg.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
function-metadata-bad.ll Add function entry count metadata. 2015-05-13 15:13:45 +00:00
function-metadata-good.ll Add function entry count metadata. 2015-05-13 15:13:45 +00:00
gc_relocate_addrspace.ll [gc.statepoint] Change gc.statepoint intrinsic's return type to token type instead of i32 type 2015-12-26 07:54:32 +00:00
gc_relocate_operand.ll [gc.statepoint] Change gc.statepoint intrinsic's return type to token type instead of i32 type 2015-12-26 07:54:32 +00:00
gc_relocate_return.ll [Statepoints] Initial support for relocating vectors of pointers 2016-01-07 03:32:11 +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
guard-intrinsic.ll Introduce a @llvm.experimental.guard intrinsic 2016-03-31 00:18:46 +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 the call instruction 2015-04-16 23:24:18 +00:00
invalid-eh.ll [Verifier] Don't abort on invalid cleanuprets 2016-03-01 18:59:50 +00:00
invalid-statepoint2.ll [gc.statepoint] Change gc.statepoint intrinsic's return type to token type instead of i32 type 2015-12-26 07:54:32 +00:00
invalid-statepoint.ll [gc.statepoint] Change gc.statepoint intrinsic's return type to token type instead of i32 type 2015-12-26 07:54:32 +00:00
invoke.ll [coroutines] Part 4[ab]: Coroutine Devirtualization: Lower coro.resume and coro.destroy. 2016-08-04 20:30:07 +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 DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
llvm.dbg.declare-expression.ll DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
llvm.dbg.declare-variable.ll DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
llvm.dbg.intrinsic-dbg-attachment.ll DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
llvm.dbg.value-expression.ll DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
llvm.dbg.value-value.ll DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
llvm.dbg.value-variable.ll DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +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 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 Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
metadata-function-dbg.ll IR: Allow metadata attachments on declarations, and fix lazy loaded metadata issue with globals. 2016-06-21 23:42:48 +00:00
metadata-function-prof.ll IR: Allow metadata attachments on declarations, and fix lazy loaded metadata issue with globals. 2016-06-21 23:42:48 +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
non-integral-pointers.ll [Verifier] Add more tests related to non-integral pointers 2016-08-02 23:32:53 +00:00
operand-bundles.ll Add a "gc-transition" operand bundle 2016-01-20 19:50:25 +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 Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +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
resume.ll Included test for r277360. 2016-08-01 18:07:19 +00:00
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 [gc.statepoint] Change gc.statepoint intrinsic's return type to token type instead of i32 type 2015-12-26 07:54:32 +00:00
swifterror2.ll Swift Calling Convention: add swifterror attribute. 2016-04-01 21:41:15 +00:00
swifterror3.ll Swift Calling Convention: add swifterror attribute. 2016-04-01 21:41:15 +00:00
swifterror.ll Swift Calling Convention: add swifterror attribute. 2016-04-01 21:41:15 +00:00
swiftself.ll Swift Calling Convention: add swiftself attribute. 2016-03-29 17:37:21 +00:00
tbaa-allowed.ll [Verifier] Allow TBAA metadata on atomicrmw and atomiccmpxchg 2016-12-15 21:23:44 +00:00
tbaa.ll [TBAAVerifier] Be stricter around verifying scalar nodes 2016-12-29 15:47:05 +00:00
token1.ll [IR] Add token types 2015-08-14 05:09:07 +00:00
token2.ll [IR] Add token types 2015-08-14 05:09:07 +00:00
token3.ll [IR] Add token types 2015-08-14 05:09:07 +00:00
token4.ll [IR] Add token types 2015-08-14 05:09:07 +00:00
token5.ll [IR] Add token types 2015-08-14 05:09:07 +00:00
token6.ll [IR] Add token types 2015-08-14 05:09:07 +00:00
token7.ll [IR] Add token types 2015-08-14 05:09:07 +00:00
unsized-types.ll [IR] Disallow loading and storing unsized types 2016-06-01 16:13:10 +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
writeonly.ll Add writeonly IR attribute 2016-07-04 08:01:29 +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.