llvm/test/Verifier
Chandler Carruth e608d695de [PM] Make the verifier work independently of any pass manager.
This makes the 'verifyFunction' and 'verifyModule' functions totally
independent operations on the LLVM IR. It also cleans up their API a bit
by lifting the abort behavior into their clients and just using an
optional raw_ostream parameter to control printing.

The implementation of the verifier is now just an InstVisitor with no
multiple inheritance. It also is significantly more const-correct, and
hides the const violations internally. The two layers that force us to
break const correctness are building a DomTree and dispatching through
the InstVisitor.

A new VerifierPass is used to implement the legacy pass manager
interface in terms of the other pieces.

The error messages produced may be slightly different now, and we may
have slightly different short circuiting behavior with different usage
models of the verifier, but generally everything works equivalently and
this unblocks wiring the verifier up to the new pass manager.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199569 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-19 02:22:18 +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 Rewrite test/Verifier tests to use FileCheck instead of grep 2013-04-08 18:33:51 +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 Rewrite test/Verifier tests to use FileCheck instead of grep 2013-04-08 18:33:51 +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
2008-03-01-AllocaSized.ll Rewrite test/Verifier tests to use FileCheck instead of grep 2013-04-08 18:33:51 +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 [PM] Make the verifier work independently of any pass manager. 2014-01-19 02:22:18 +00:00
aliasing-chain.ll Rewrite test/Verifier tests to use FileCheck instead of grep 2013-04-08 18:33:51 +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 Fix all the verifier tests I added for address spaces. 2014-01-02 21:09:05 +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 Fix all the verifier tests I added for address spaces. 2014-01-02 21:09:05 +00:00
bitcast-address-space-through-gep.ll Fix all the verifier tests I added for address spaces. 2014-01-02 21:09:05 +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 Fix all the verifier tests I added for address spaces. 2014-01-02 21:09:05 +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
cttz-undef-arg.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
dominates.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
fpmath.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
gcread-ptrptr.ll
gcroot-alloca.ll
gcroot-meta.ll
gcroot-ptrptr.ll
gcwrite-ptrptr.ll
ident-meta1.ll Add support for metadata representing .ident directives. 2013-10-16 01:49:05 +00:00
ident-meta2.ll Add support for metadata representing .ident directives. 2013-10-16 01:49:05 +00:00
ident-meta3.ll Add support for metadata representing .ident directives. 2013-10-16 01:49:05 +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 Add an inalloca flag to allocas 2014-01-17 23:58:17 +00:00
inalloca-vararg.ll Add an inalloca flag to allocas 2014-01-17 23:58:17 +00:00
invoke.ll Assert that dominates is not given a multiple edge. Finding out if we have 2012-08-17 18:21:28 +00:00
llvm.compiler_used-invalid-type.ll s/compiler_used/compiler.used/. 2013-07-19 18:44:51 +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
module-flags-1.ll [IR] Add 'Append' and 'AppendUnique' module flag behaviors. 2013-01-16 21:38:56 +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 Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
range-2.ll Require intervals in the range metadata to be in a canonical form: They must 2012-05-31 13:45:46 +00:00
README.txt
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
varargs-intrinsic.ll Grow the stackmap/patchpoint format to hold 64-bit IDs. 2013-12-13 18:37:10 +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.