forked from OSchip/llvm-project
043949d446
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. llvm-svn: 199569 |
||
---|---|---|
.. | ||
2002-04-13-RetTypes.ll | ||
2002-11-05-GetelementptrPointers.ll | ||
2004-05-21-SwitchConstantMismatch.ll | ||
2006-07-11-StoreStruct.ll | ||
2006-10-15-AddrLabel.ll | ||
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 | ||
AmbiguousPhi.ll | ||
PhiGrouping.ll | ||
README.txt | ||
SelfReferential.ll | ||
aliasing-chain.ll | ||
bitcast-address-space-nested-global-cycle.ll | ||
bitcast-address-space-nested-global.ll | ||
bitcast-address-space-through-constant-inttoptr-inside-gep-instruction.ll | ||
bitcast-address-space-through-constant-inttoptr.ll | ||
bitcast-address-space-through-gep-2.ll | ||
bitcast-address-space-through-gep.ll | ||
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 | ||
cttz-undef-arg.ll | ||
dominates.ll | ||
fpmath.ll | ||
gcread-ptrptr.ll | ||
gcroot-alloca.ll | ||
gcroot-meta.ll | ||
gcroot-ptrptr.ll | ||
gcwrite-ptrptr.ll | ||
ident-meta1.ll | ||
ident-meta2.ll | ||
ident-meta3.ll | ||
inalloca-vararg.ll | ||
inalloca1.ll | ||
inalloca2.ll | ||
invoke.ll | ||
llvm.compiler_used-invalid-type.ll | ||
llvm.used-invalid-init.ll | ||
llvm.used-invalid-init2.ll | ||
llvm.used-invalid-type.ll | ||
llvm.used-invalid-type2.ll | ||
llvm.used-ptr-type.ll | ||
module-flags-1.ll | ||
range-1.ll | ||
range-2.ll | ||
recursive-type-1.ll | ||
recursive-type-2.ll | ||
recursive-type-3.ll | ||
varargs-intrinsic.ll |
README.txt
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.