Lines Matching defs:Verifier

1 //===-- Verifier.cpp - Implement the Module Verifier -----------------------==//
50 #include "llvm/IR/Verifier.h"
325 class Verifier : public InstVisitor<Verifier>, VerifierSupport {
326 friend class InstVisitor<Verifier>;
393 explicit Verifier(raw_ostream *OS, bool ShouldTreatBrokenDebugInfoAsError,
452 /// Verify the module that this instance of \c Verifier was initialized with.
545 using InstVisitor<Verifier>::visit;
676 void Verifier::visitDbgRecords(Instruction &I) {
701 void Verifier::visit(Instruction &I) {
705 InstVisitor<Verifier>::visit(I);
726 void Verifier::visitGlobalValue(const GlobalValue &GV) {
822 void Verifier::visitGlobalVariable(const GlobalVariable &GV) {
927 void Verifier::visitAliaseeSubExpr(const GlobalAlias &GA, const Constant &C) {
933 void Verifier::visitAliaseeSubExpr(SmallPtrSetImpl<const GlobalAlias*> &Visited,
972 void Verifier::visitGlobalAlias(const GlobalAlias &GA) {
990 void Verifier::visitGlobalIFunc(const GlobalIFunc &GI) {
1015 void Verifier::visitNamedMDNode(const NamedMDNode &NMD) {
1032 void Verifier::visitMDNode(const MDNode &MD, AreDebugLocsAllowed AllowLocs) {
1075 void Verifier::visitValueAsMetadata(const ValueAsMetadata &MD, Function *F) {
1101 void Verifier::visitDIArgList(const DIArgList &AL, Function *F) {
1106 void Verifier::visitMetadataAsValue(const MetadataAsValue &MDV, Function *F) {
1129 void Verifier::visitDILocation(const DILocation &N) {
1138 void Verifier::visitGenericDINode(const GenericDINode &N) {
1142 void Verifier::visitDIScope(const DIScope &N) {
1147 void Verifier::visitDISubrange(const DISubrange &N) {
1175 void Verifier::visitDIGenericSubrange(const DIGenericSubrange &N) {
1197 void Verifier::visitDIEnumerator(const DIEnumerator &N) {
1201 void Verifier::visitDIBasicType(const DIBasicType &N) {
1208 void Verifier::visitDIStringType(const DIStringType &N) {
1214 void Verifier::visitDIDerivedType(const DIDerivedType &N) {
1277 void Verifier::visitTemplateParams(const MDNode &N, const Metadata &RawParams) {
1286 void Verifier::visitDICompositeType(const DICompositeType &N) {
1353 void Verifier::visitDISubroutineType(const DISubroutineType &N) {
1365 void Verifier::visitDIFile(const DIFile &N) {
1389 void Verifier::visitDICompileUnit(const DICompileUnit &N) {
1443 void Verifier::visitDISubprogram(const DISubprogram &N) {
1508 void Verifier::visitDILexicalBlockBase(const DILexicalBlockBase &N) {
1516 void Verifier::visitDILexicalBlock(const DILexicalBlock &N) {
1523 void Verifier::visitDILexicalBlockFile(const DILexicalBlockFile &N) {
1527 void Verifier::visitDICommonBlock(const DICommonBlock &N) {
1535 void Verifier::visitDINamespace(const DINamespace &N) {
1541 void Verifier::visitDIMacro(const DIMacro &N) {
1551 void Verifier::visitDIMacroFile(const DIMacroFile &N) {
1565 void Verifier::visitDIModule(const DIModule &N) {
1570 void Verifier::visitDITemplateParameter(const DITemplateParameter &N) {
1574 void Verifier::visitDITemplateTypeParameter(const DITemplateTypeParameter &N) {
1581 void Verifier::visitDITemplateValueParameter(
1591 void Verifier::visitDIVariable(const DIVariable &N) {
1598 void Verifier::visitDIGlobalVariable(const DIGlobalVariable &N) {
1613 void Verifier::visitDILocalVariable(const DILocalVariable &N) {
1625 void Verifier::visitDIAssignID(const DIAssignID &N) {
1630 void Verifier::visitDILabel(const DILabel &N) {
1641 void Verifier::visitDIExpression(const DIExpression &N) {
1645 void Verifier::visitDIGlobalVariableExpression(
1657 void Verifier::visitDIObjCProperty(const DIObjCProperty &N) {
1665 void Verifier::visitDIImportedEntity(const DIImportedEntity &N) {
1675 void Verifier::visitComdat(const Comdat &C) {
1684 void Verifier::visitModuleIdents() {
1701 void Verifier::visitModuleCommandLines() {
1719 void Verifier::visitModuleFlags() {
1771 Verifier::visitModuleFlag(const MDNode *Op,
1878 void Verifier::visitModuleFlagCGProfileEntry(const MDOperand &MDO) {
1895 void Verifier::verifyAttributeTypes(AttributeSet Attrs, const Value *V) {
1923 void Verifier::verifyParameterAttrs(AttributeSet Attrs, Type *Ty,
2080 void Verifier::checkUnsignedBaseTenFuncAttr(AttributeList Attrs, StringRef Attr,
2092 void Verifier::verifyFunctionAttrs(FunctionType *FT, AttributeList Attrs,
2391 void Verifier::verifyFunctionMetadata(
2434 void Verifier::visitConstantExprsRecursively(const Constant *EntryC) {
2471 void Verifier::visitConstantExpr(const ConstantExpr *CE) {
2478 void Verifier::visitConstantPtrAuth(const ConstantPtrAuth *CPA) {
2495 bool Verifier::verifyAttributeCount(AttributeList Attrs, unsigned Params) {
2501 void Verifier::verifyInlineAsmCall(const CallBase &Call) {
2544 void Verifier::verifyStatepoint(const CallBase &Call) {
2669 void Verifier::verifyFrameRecoverIndices() {
2693 void Verifier::verifySiblingFuncletUnwinds() {
2737 void Verifier::visitFunction(const Function &F) {
3016 // broken code (this is the Verifier after all).
3058 void Verifier::visitBasicBlock(BasicBlock &BB) {
3122 void Verifier::visitTerminator(Instruction &I) {
3129 void Verifier::visitBranchInst(BranchInst &BI) {
3137 void Verifier::visitReturnInst(ReturnInst &RI) {
3156 void Verifier::visitSwitchInst(SwitchInst &SI) {
3174 void Verifier::visitIndirectBrInst(IndirectBrInst &BI) {
3184 void Verifier::visitCallBrInst(CallBrInst &CBI) {
3193 void Verifier::visitSelectInst(SelectInst &SI) {
3206 void Verifier::visitUserOp1(Instruction &I) {
3210 void Verifier::visitTruncInst(TruncInst &I) {
3228 void Verifier::visitZExtInst(ZExtInst &I) {
3246 void Verifier::visitSExtInst(SExtInst &I) {
3264 void Verifier::visitFPTruncInst(FPTruncInst &I) {
3281 void Verifier::visitFPExtInst(FPExtInst &I) {
3299 void Verifier::visitUIToFPInst(UIToFPInst &I) {
3322 void Verifier::visitSIToFPInst(SIToFPInst &I) {
3345 void Verifier::visitFPToUIInst(FPToUIInst &I) {
3367 void Verifier::visitFPToSIInst(FPToSIInst &I) {
3389 void Verifier::visitPtrToIntInst(PtrToIntInst &I) {
3410 void Verifier::visitIntToPtrInst(IntToPtrInst &I) {
3429 void Verifier::visitBitCastInst(BitCastInst &I) {
3436 void Verifier::visitAddrSpaceCastInst(AddrSpaceCastInst &I) {
3455 void Verifier::visitPHINode(PHINode &PN) {
3479 void Verifier::visitCallBase(CallBase &Call) {
3780 void Verifier::verifyTailCCMustTailAttrs(const AttrBuilder &Attrs,
3827 void Verifier::verifyMustTailCall(CallInst &CI) {
3914 void Verifier::visitCallInst(CallInst &CI) {
3921 void Verifier::visitInvokeInst(InvokeInst &II) {
3936 void Verifier::visitUnaryOperator(UnaryOperator &U) {
3959 void Verifier::visitBinaryOperator(BinaryOperator &B) {
4020 void Verifier::visitICmpInst(ICmpInst &IC) {
4035 void Verifier::visitFCmpInst(FCmpInst &FC) {
4050 void Verifier::visitExtractElementInst(ExtractElementInst &EI) {
4056 void Verifier::visitInsertElementInst(InsertElementInst &IE) {
4063 void Verifier::visitShuffleVectorInst(ShuffleVectorInst &SV) {
4070 void Verifier::visitGetElementPtrInst(GetElementPtrInst &GEP) {
4130 void Verifier::verifyRangeMetadata(const Value &I, const MDNode *Range,
4183 void Verifier::visitRangeMetadata(Instruction &I, MDNode *Range, Type *Ty) {
4189 void Verifier::checkAtomicMemAccessSize(Type *Ty, const Instruction *I) {
4196 void Verifier::visitLoadInst(LoadInst &LI) {
4222 void Verifier::visitStoreInst(StoreInst &SI) {
4248 void Verifier::verifySwiftErrorCall(CallBase &Call,
4260 void Verifier::verifySwiftErrorValue(const Value *SwiftErrorVal) {
4280 void Verifier::visitAllocaInst(AllocaInst &AI) {
4302 void Verifier::visitAtomicCmpXchgInst(AtomicCmpXchgInst &CXI) {
4310 void Verifier::visitAtomicRMWInst(AtomicRMWInst &RMWI) {
4339 void Verifier::visitFenceInst(FenceInst &FI) {
4351 void Verifier::visitExtractValueInst(ExtractValueInst &EVI) {
4359 void Verifier::visitInsertValueInst(InsertValueInst &IVI) {
4375 void Verifier::visitEHPadPredecessors(Instruction &I) {
4458 void Verifier::visitLandingPadInst(LandingPadInst &LPI) {
4498 void Verifier::visitResumeInst(ResumeInst &RI) {
4513 void Verifier::visitCatchPadInst(CatchPadInst &CPI) {
4533 void Verifier::visitCatchReturnInst(CatchReturnInst &CatchReturn) {
4541 void Verifier::visitCleanupPadInst(CleanupPadInst &CPI) {
4561 void Verifier::visitFuncletPadInst(FuncletPadInst &FPI) {
4721 void Verifier::visitCatchSwitchInst(CatchSwitchInst &CatchSwitch) {
4763 void Verifier::visitCleanupReturnInst(CleanupReturnInst &CRI) {
4779 void Verifier::verifyDominatesUse(Instruction &I, unsigned i) {
4803 void Verifier::visitDereferenceableMetadata(Instruction& I, MDNode* MD) {
4823 void Verifier::visitProfMetadata(Instruction &I, MDNode *MD) {
4871 void Verifier::visitDIAssignIDMetadata(Instruction &I, MDNode *MD) {
4899 void Verifier::visitMMRAMetadata(Instruction &I, MDNode *MD) {
4917 void Verifier::visitCallStackMetadata(MDNode *MD) {
4928 void Verifier::visitMemProfMetadata(Instruction &I, MDNode *MD) {
4963 void Verifier::visitCallsiteMetadata(Instruction &I, MDNode *MD) {
4970 void Verifier::visitAnnotationMetadata(MDNode *Annotation) {
4985 void Verifier::visitAliasScopeMetadata(const MDNode *MD) {
5009 void Verifier::visitAliasScopeListMetadata(const MDNode *MD) {
5017 void Verifier::visitAccessGroupMetadata(const MDNode *MD) {
5037 void Verifier::visitInstruction(Instruction &I) {
5271 void Verifier::visitIntrinsicCall(Intrinsic::ID ID, CallBase &Call) {
6388 void Verifier::visit(DbgLabelRecord &DLR) {
6416 void Verifier::visit(DbgVariableRecord &DVR) {
6497 void Verifier::visitVPIntrinsic(VPIntrinsic &VPI) {
6599 void Verifier::visitConstrainedFPIntrinsic(ConstrainedFPIntrinsic &FPI) {
6733 void Verifier::visitDbgIntrinsic(StringRef Kind, DbgVariableIntrinsic &DII) {
6795 void Verifier::visitDbgLabelIntrinsic(StringRef Kind, DbgLabelInst &DLI) {
6826 void Verifier::verifyFragmentExpression(const DbgVariableIntrinsic &I) {
6850 void Verifier::verifyFragmentExpression(const DbgVariableRecord &DVR) {
6876 void Verifier::verifyFragmentExpression(const DIVariable &V,
6892 void Verifier::verifyFnArgs(const DbgVariableIntrinsic &I) {
6920 void Verifier::verifyFnArgs(const DbgVariableRecord &DVR) {
6949 void Verifier::verifyNotEntryValue(const DbgVariableIntrinsic &I) {
6972 void Verifier::verifyNotEntryValue(const DbgVariableRecord &DVR) {
6996 void Verifier::verifyCompileUnits() {
7011 void Verifier::verifyDeoptimizeCallingConvs() {
7024 void Verifier::verifyAttachedCallBundle(const CallBase &Call,
7055 void Verifier::verifyNoAliasScopeDecl() {
7132 Verifier V(OS, /*ShouldTreatBrokenDebugInfoAsError=*/true, *f.getParent());
7142 Verifier V(OS, /*ShouldTreatBrokenDebugInfoAsError=*/!BrokenDebugInfo, M);
7161 std::unique_ptr<Verifier> V;
7174 V = std::make_unique<Verifier>(
7552 INITIALIZE_PASS(VerifierLegacyPass, "verify", "Module Verifier", false, false)