Home | History | Annotate | Download | only in IR

Lines Matching defs:Verifier

1 //===-- Verifier.cpp - Implement the Module Verifier -----------------------==//
10 // This file defines the function verifier interface, that can be used for some
47 #include "llvm/IR/Verifier.h"
209 class Verifier : public InstVisitor<Verifier>, VerifierSupport {
210 friend class InstVisitor<Verifier>;
266 explicit Verifier(raw_ostream *OS, bool ShouldTreatBrokenDebugInfoAsError)
381 using InstVisitor<Verifier>::visit;
480 void Verifier::visit(Instruction &I) {
483 InstVisitor<Verifier>::visit(I);
499 void Verifier::visitGlobalValue(const GlobalValue &GV) {
537 void Verifier::visitGlobalVariable(const GlobalVariable &GV) {
620 void Verifier::visitAliaseeSubExpr(const GlobalAlias &GA, const Constant &C) {
626 void Verifier::visitAliaseeSubExpr(SmallPtrSetImpl<const GlobalAlias*> &Visited,
656 void Verifier::visitGlobalAlias(const GlobalAlias &GA) {
674 void Verifier::visitNamedMDNode(const NamedMDNode &NMD) {
687 void Verifier::visitMDNode(const MDNode &MD) {
725 void Verifier::visitValueAsMetadata(const ValueAsMetadata &MD, Function *F) {
751 void Verifier::visitMetadataAsValue(const MetadataAsValue &MDV, Function *F) {
795 void Verifier::visitDILocation(const DILocation &N) {
802 void Verifier::visitGenericDINode(const GenericDINode &N) {
806 void Verifier::visitDIScope(const DIScope &N) {
811 void Verifier::visitDISubrange(const DISubrange &N) {
816 void Verifier::visitDIEnumerator(const DIEnumerator &N) {
820 void Verifier::visitDIBasicType(const DIBasicType &N) {
826 void Verifier::visitDIDerivedType(const DIDerivedType &N) {
857 void Verifier::visitTemplateParams(const MDNode &N, const Metadata &RawParams) {
866 void Verifier::visitDICompositeType(const DICompositeType &N) {
897 void Verifier::visitDISubroutineType(const DISubroutineType &N) {
909 void Verifier::visitDIFile(const DIFile &N) {
913 void Verifier::visitDICompileUnit(const DICompileUnit &N) {
967 void Verifier::visitDISubprogram(const DISubprogram &N) {
1004 void Verifier::visitDILexicalBlockBase(const DILexicalBlockBase &N) {
1010 void Verifier::visitDILexicalBlock(const DILexicalBlock &N) {
1017 void Verifier::visitDILexicalBlockFile(const DILexicalBlockFile &N) {
1021 void Verifier::visitDINamespace(const DINamespace &N) {
1027 void Verifier::visitDIMacro(const DIMacro &N) {
1037 void Verifier::visitDIMacroFile(const DIMacroFile &N) {
1051 void Verifier::visitDIModule(const DIModule &N) {
1056 void Verifier::visitDITemplateParameter(const DITemplateParameter &N) {
1060 void Verifier::visitDITemplateTypeParameter(const DITemplateTypeParameter &N) {
1067 void Verifier::visitDITemplateValueParameter(
1077 void Verifier::visitDIVariable(const DIVariable &N) {
1085 void Verifier::visitDIGlobalVariable(const DIGlobalVariable &N) {
1103 void Verifier::visitDILocalVariable(const DILocalVariable &N) {
1112 void Verifier::visitDIExpression(const DIExpression &N) {
1116 void Verifier::visitDIObjCProperty(const DIObjCProperty &N) {
1124 void Verifier::visitDIImportedEntity(const DIImportedEntity &N) {
1134 void Verifier::visitComdat(const Comdat &C) {
1142 void Verifier::visitModuleIdents(const Module &M) {
1159 void Verifier::visitModuleFlags(const Module &M) {
1191 Verifier::visitModuleFlag(const MDNode *Op,
1257 void Verifier::verifyAttributeTypes(AttributeSet Attrs, unsigned Idx,
1329 void Verifier::verifyParameterAttrs(AttributeSet Attrs, unsigned Idx, Type *Ty,
1437 void Verifier::verifyFunctionAttrs(FunctionType *FT, AttributeSet Attrs,
1589 void Verifier::verifyFunctionMetadata(
1616 void Verifier::visitConstantExprsRecursively(const Constant *EntryC) {
1650 void Verifier::visitConstantExpr(const ConstantExpr *CE) {
1659 bool Verifier::verifyAttributeCount(AttributeSet Attrs, unsigned Params) {
1674 void Verifier::verifyStatepoint(ImmutableCallSite CS) {
1805 // about. See example statepoint.ll in the verifier subdirectory
1808 void Verifier::verifyFrameRecoverIndices() {
1832 void Verifier::verifySiblingFuncletUnwinds() {
1876 void Verifier::visitFunction(const Function &F) {
2061 // broken code (this is the Verifier after all).
2089 void Verifier::visitBasicBlock(BasicBlock &BB) {
2148 void Verifier::visitTerminatorInst(TerminatorInst &I) {
2155 void Verifier::visitBranchInst(BranchInst &BI) {
2163 void Verifier::visitReturnInst(ReturnInst &RI) {
2182 void Verifier::visitSwitchInst(SwitchInst &SI) {
2197 void Verifier::visitIndirectBrInst(IndirectBrInst &BI) {
2207 void Verifier::visitSelectInst(SelectInst &SI) {
2220 void Verifier::visitUserOp1(Instruction &I) {
2224 void Verifier::visitTruncInst(TruncInst &I) {
2242 void Verifier::visitZExtInst(ZExtInst &I) {
2260 void Verifier::visitSExtInst(SExtInst &I) {
2278 void Verifier::visitFPTruncInst(FPTruncInst &I) {
2295 void Verifier::visitFPExtInst(FPExtInst &I) {
2313 void Verifier::visitUIToFPInst(UIToFPInst &I) {
2336 void Verifier::visitSIToFPInst(SIToFPInst &I) {
2359 void Verifier::visitFPToUIInst(FPToUIInst &I) {
2382 void Verifier::visitFPToSIInst(FPToSIInst &I) {
2405 void Verifier::visitPtrToIntInst(PtrToIntInst &I) {
2427 void Verifier::visitIntToPtrInst(IntToPtrInst &I) {
2447 void Verifier::visitBitCastInst(BitCastInst &I) {
2454 void Verifier::visitAddrSpaceCastInst(AddrSpaceCastInst &I) {
2472 void Verifier::visitPHINode(PHINode &PN) {
2496 void Verifier::verifyCallSite(CallSite CS) {
2679 void Verifier::verifyMustTailCall(CallInst &CI) {
2740 void Verifier::visitCallInst(CallInst &CI) {
2747 void Verifier::visitInvokeInst(InvokeInst &II) {
2763 void Verifier::visitBinaryOperator(BinaryOperator &B) {
2825 void Verifier::visitICmpInst(ICmpInst &IC) {
2842 void Verifier::visitFCmpInst(FCmpInst &FC) {
2859 void Verifier::visitExtractElementInst(ExtractElementInst &EI) {
2866 void Verifier::visitInsertElementInst(InsertElementInst &IE) {
2873 void Verifier::visitShuffleVectorInst(ShuffleVectorInst &SV) {
2880 void Verifier::visitGetElementPtrInst(GetElementPtrInst &GEP) {
2918 void Verifier::visitRangeMetadata(Instruction& I,
2968 void Verifier::checkAtomicMemAccessSize(const Module *M, Type *Ty,
2976 void Verifier::visitLoadInst(LoadInst &LI) {
3003 void Verifier::visitStoreInst(StoreInst &SI) {
3032 void Verifier::verifySwiftErrorCallSite(CallSite CS,
3046 void Verifier::verifySwiftErrorValue(const Value *SwiftErrorVal) {
3067 void Verifier::visitAllocaInst(AllocaInst &AI) {
3087 void Verifier::visitAtomicCmpXchgInst(AtomicCmpXchgInst &CXI) {
3121 void Verifier::visitAtomicRMWInst(AtomicRMWInst &RMWI) {
3141 void Verifier::visitFenceInst(FenceInst &FI) {
3153 void Verifier::visitExtractValueInst(ExtractValueInst &EVI) {
3161 void Verifier::visitInsertValueInst(InsertValueInst &IVI) {
3177 void Verifier::visitEHPadPredecessors(Instruction &I) {
3250 void Verifier::visitLandingPadInst(LandingPadInst &LPI) {
3291 void Verifier::visitCatchPadInst(CatchPadInst &CPI) {
3311 void Verifier::visitCatchReturnInst(CatchReturnInst &CatchReturn) {
3319 void Verifier::visitCleanupPadInst(CleanupPadInst &CPI) {
3340 void Verifier::visitFuncletPadInst(FuncletPadInst &FPI) {
3499 void Verifier::visitCatchSwitchInst(CatchSwitchInst &CatchSwitch) {
3541 void Verifier::visitCleanupReturnInst(CleanupReturnInst &CRI) {
3557 void Verifier::verifyDominatesUse(Instruction &I, unsigned i) {
3582 void Verifier::visitDereferenceableMetadata(Instruction& I, MDNode* MD) {
3597 void Verifier::visitInstruction(Instruction &I) {
3752 void Verifier::visitIntrinsicCallSite(Intrinsic::ID ID, CallSite CS) {
4153 void Verifier::visitDbgIntrinsic(StringRef Kind, DbgIntrinsicTy &DII) {
4213 void Verifier::verifyBitPieceExpression(const DbgInfoIntrinsic &I) {
4255 void Verifier::verifyCompileUnits() {
4267 void Verifier::verifyDeoptimizeCallingConvs() {
4288 Verifier V(OS, /*ShouldTreatBrokenDebugInfoAsError=*/true);
4298 Verifier V(OS, /*ShouldTreatBrokenDebugInfoAsError=*/!BrokenDebugInfo);
4316 Verifier V;
4368 INITIALIZE_PASS(VerifierLegacyPass, "verify", "Module Verifier", false, false)