Lines Matching defs:Verifier
1 //===-- Verifier.cpp - Implement the Module Verifier -----------------------==//
50 #include "llvm/IR/Verifier.h"
324 class Verifier : public InstVisitor<Verifier>, VerifierSupport {
325 friend class InstVisitor<Verifier>;
392 explicit Verifier(raw_ostream *OS, bool ShouldTreatBrokenDebugInfoAsError,
451 /// Verify the module that this instance of \c Verifier was initialized with.
553 using InstVisitor<Verifier>::visit;
684 void Verifier::visitDbgRecords(Instruction &I) {
709 void Verifier::visit(Instruction &I) {
713 InstVisitor<Verifier>::visit(I);
734 void Verifier::visitGlobalValue(const GlobalValue &GV) {
835 void Verifier::visitGlobalVariable(const GlobalVariable &GV) {
939 void Verifier::visitAliaseeSubExpr(const GlobalAlias &GA, const Constant &C) {
945 void Verifier::visitAliaseeSubExpr(SmallPtrSetImpl<const GlobalAlias*> &Visited,
984 void Verifier::visitGlobalAlias(const GlobalAlias &GA) {
1002 void Verifier::visitGlobalIFunc(const GlobalIFunc &GI) {
1025 void Verifier::visitNamedMDNode(const NamedMDNode &NMD) {
1042 void Verifier::visitMDNode(const MDNode &MD, AreDebugLocsAllowed AllowLocs) {
1085 void Verifier::visitValueAsMetadata(const ValueAsMetadata &MD, Function *F) {
1111 void Verifier::visitDIArgList(const DIArgList &AL, Function *F) {
1116 void Verifier::visitMetadataAsValue(const MetadataAsValue &MDV, Function *F) {
1139 void Verifier::visitDILocation(const DILocation &N) {
1148 void Verifier::visitGenericDINode(const GenericDINode &N) {
1152 void Verifier::visitDIScope(const DIScope &N) {
1157 void Verifier::visitDISubrange(const DISubrange &N) {
1185 void Verifier::visitDIGenericSubrange(const DIGenericSubrange &N) {
1207 void Verifier::visitDIEnumerator(const DIEnumerator &N) {
1211 void Verifier::visitDIBasicType(const DIBasicType &N) {
1218 void Verifier::visitDIStringType(const DIStringType &N) {
1224 void Verifier::visitDIDerivedType(const DIDerivedType &N) {
1287 void Verifier::visitTemplateParams(const MDNode &N, const Metadata &RawParams) {
1296 void Verifier::visitDICompositeType(const DICompositeType &N) {
1365 void Verifier::visitDISubroutineType(const DISubroutineType &N) {
1377 void Verifier::visitDIFile(const DIFile &N) {
1401 void Verifier::visitDICompileUnit(const DICompileUnit &N) {
1455 void Verifier::visitDISubprogram(const DISubprogram &N) {
1520 void Verifier::visitDILexicalBlockBase(const DILexicalBlockBase &N) {
1528 void Verifier::visitDILexicalBlock(const DILexicalBlock &N) {
1535 void Verifier::visitDILexicalBlockFile(const DILexicalBlockFile &N) {
1539 void Verifier::visitDICommonBlock(const DICommonBlock &N) {
1547 void Verifier::visitDINamespace(const DINamespace &N) {
1553 void Verifier::visitDIMacro(const DIMacro &N) {
1563 void Verifier::visitDIMacroFile(const DIMacroFile &N) {
1577 void Verifier::visitDIModule(const DIModule &N) {
1582 void Verifier::visitDITemplateParameter(const DITemplateParameter &N) {
1586 void Verifier::visitDITemplateTypeParameter(const DITemplateTypeParameter &N) {
1593 void Verifier::visitDITemplateValueParameter(
1603 void Verifier::visitDIVariable(const DIVariable &N) {
1610 void Verifier::visitDIGlobalVariable(const DIGlobalVariable &N) {
1625 void Verifier::visitDILocalVariable(const DILocalVariable &N) {
1637 void Verifier::visitDIAssignID(const DIAssignID &N) {
1642 void Verifier::visitDILabel(const DILabel &N) {
1653 void Verifier::visitDIExpression(const DIExpression &N) {
1657 void Verifier::visitDIGlobalVariableExpression(
1669 void Verifier::visitDIObjCProperty(const DIObjCProperty &N) {
1677 void Verifier::visitDIImportedEntity(const DIImportedEntity &N) {
1687 void Verifier::visitComdat(const Comdat &C) {
1696 void Verifier::visitModuleIdents() {
1713 void Verifier::visitModuleCommandLines() {
1731 void Verifier::visitModuleFlags() {
1783 Verifier::visitModuleFlag(const MDNode *Op,
1890 void Verifier::visitModuleFlagCGProfileEntry(const MDOperand &MDO) {
1907 void Verifier::verifyAttributeTypes(AttributeSet Attrs, const Value *V) {
1935 void Verifier::verifyParameterAttrs(AttributeSet Attrs, Type *Ty,
2096 void Verifier::checkUnsignedBaseTenFuncAttr(AttributeList Attrs, StringRef Attr,
2108 void Verifier::verifyFunctionAttrs(FunctionType *FT, AttributeList Attrs,
2430 void Verifier::verifyFunctionMetadata(
2473 void Verifier::visitConstantExprsRecursively(const Constant *EntryC) {
2510 void Verifier::visitConstantExpr(const ConstantExpr *CE) {
2517 void Verifier::visitConstantPtrAuth(const ConstantPtrAuth *CPA) {
2534 bool Verifier::verifyAttributeCount(AttributeList Attrs, unsigned Params) {
2540 void Verifier::verifyInlineAsmCall(const CallBase &Call) {
2583 void Verifier::verifyStatepoint(const CallBase &Call) {
2708 void Verifier::verifyFrameRecoverIndices() {
2732 void Verifier::verifySiblingFuncletUnwinds() {
2776 void Verifier::visitFunction(const Function &F) {
3059 // broken code (this is the Verifier after all).
3101 void Verifier::visitBasicBlock(BasicBlock &BB) {
3165 void Verifier::visitTerminator(Instruction &I) {
3172 void Verifier::visitBranchInst(BranchInst &BI) {
3180 void Verifier::visitReturnInst(ReturnInst &RI) {
3199 void Verifier::visitSwitchInst(SwitchInst &SI) {
3217 void Verifier::visitIndirectBrInst(IndirectBrInst &BI) {
3227 void Verifier::visitCallBrInst(CallBrInst &CBI) {
3236 void Verifier::visitSelectInst(SelectInst &SI) {
3249 void Verifier::visitUserOp1(Instruction &I) {
3253 void Verifier::visitTruncInst(TruncInst &I) {
3271 void Verifier::visitZExtInst(ZExtInst &I) {
3289 void Verifier::visitSExtInst(SExtInst &I) {
3307 void Verifier::visitFPTruncInst(FPTruncInst &I) {
3324 void Verifier::visitFPExtInst(FPExtInst &I) {
3342 void Verifier::visitUIToFPInst(UIToFPInst &I) {
3365 void Verifier::visitSIToFPInst(SIToFPInst &I) {
3388 void Verifier::visitFPToUIInst(FPToUIInst &I) {
3410 void Verifier::visitFPToSIInst(FPToSIInst &I) {
3432 void Verifier::visitPtrToIntInst(PtrToIntInst &I) {
3453 void Verifier::visitIntToPtrInst(IntToPtrInst &I) {
3472 void Verifier::visitBitCastInst(BitCastInst &I) {
3479 void Verifier::visitAddrSpaceCastInst(AddrSpaceCastInst &I) {
3498 void Verifier::visitPHINode(PHINode &PN) {
3522 void Verifier::visitCallBase(CallBase &Call) {
3823 void Verifier::verifyTailCCMustTailAttrs(const AttrBuilder &Attrs,
3870 void Verifier::verifyMustTailCall(CallInst &CI) {
3957 void Verifier::visitCallInst(CallInst &CI) {
3964 void Verifier::visitInvokeInst(InvokeInst &II) {
3979 void Verifier::visitUnaryOperator(UnaryOperator &U) {
4002 void Verifier::visitBinaryOperator(BinaryOperator &B) {
4063 void Verifier::visitICmpInst(ICmpInst &IC) {
4078 void Verifier::visitFCmpInst(FCmpInst &FC) {
4093 void Verifier::visitExtractElementInst(ExtractElementInst &EI) {
4099 void Verifier::visitInsertElementInst(InsertElementInst &IE) {
4106 void Verifier::visitShuffleVectorInst(ShuffleVectorInst &SV) {
4113 void Verifier::visitGetElementPtrInst(GetElementPtrInst &GEP) {
4171 void Verifier::verifyRangeLikeMetadata(const Value &I, const MDNode *Range,
4234 void Verifier::visitRangeMetadata(Instruction &I, MDNode *Range, Type *Ty) {
4240 void Verifier::visitNoaliasAddrspaceMetadata(Instruction &I, MDNode *Range,
4248 void Verifier::checkAtomicMemAccessSize(Type *Ty, const Instruction *I) {
4255 void Verifier::visitLoadInst(LoadInst &LI) {
4281 void Verifier::visitStoreInst(StoreInst &SI) {
4307 void Verifier::verifySwiftErrorCall(CallBase &Call,
4319 void Verifier::verifySwiftErrorValue(const Value *SwiftErrorVal) {
4339 void Verifier::visitAllocaInst(AllocaInst &AI) {
4364 void Verifier::visitAtomicCmpXchgInst(AtomicCmpXchgInst &CXI) {
4372 void Verifier::visitAtomicRMWInst(AtomicRMWInst &RMWI) {
4401 void Verifier::visitFenceInst(FenceInst &FI) {
4413 void Verifier::visitExtractValueInst(ExtractValueInst &EVI) {
4421 void Verifier::visitInsertValueInst(InsertValueInst &IVI) {
4437 void Verifier::visitEHPadPredecessors(Instruction &I) {
4520 void Verifier::visitLandingPadInst(LandingPadInst &LPI) {
4560 void Verifier::visitResumeInst(ResumeInst &RI) {
4575 void Verifier::visitCatchPadInst(CatchPadInst &CPI) {
4595 void Verifier::visitCatchReturnInst(CatchReturnInst &CatchReturn) {
4603 void Verifier::visitCleanupPadInst(CleanupPadInst &CPI) {
4623 void Verifier::visitFuncletPadInst(FuncletPadInst &FPI) {
4783 void Verifier::visitCatchSwitchInst(CatchSwitchInst &CatchSwitch) {
4825 void Verifier::visitCleanupReturnInst(CleanupReturnInst &CRI) {
4841 void Verifier::verifyDominatesUse(Instruction &I, unsigned i) {
4865 void Verifier::visitDereferenceableMetadata(Instruction& I, MDNode* MD) {
4885 void Verifier::visitProfMetadata(Instruction &I, MDNode *MD) {
4933 void Verifier::visitDIAssignIDMetadata(Instruction &I, MDNode *MD) {
4961 void Verifier::visitMMRAMetadata(Instruction &I, MDNode *MD) {
4979 void Verifier::visitCallStackMetadata(MDNode *MD) {
4990 void Verifier::visitMemProfMetadata(Instruction &I, MDNode *MD) {
5046 void Verifier::visitCallsiteMetadata(Instruction &I, MDNode *MD) {
5053 void Verifier::visitAnnotationMetadata(MDNode *Annotation) {
5068 void Verifier::visitAliasScopeMetadata(const MDNode *MD) {
5092 void Verifier::visitAliasScopeListMetadata(const MDNode *MD) {
5100 void Verifier::visitAccessGroupMetadata(const MDNode *MD) {
5120 void Verifier::visitInstruction(Instruction &I) {
5362 void Verifier::visitIntrinsicCall(Intrinsic::ID ID, CallBase &Call) {
6561 void Verifier::visit(DbgLabelRecord &DLR) {
6589 void Verifier::visit(DbgVariableRecord &DVR) {
6670 void Verifier::visitVPIntrinsic(VPIntrinsic &VPI) {
6772 void Verifier::visitConstrainedFPIntrinsic(ConstrainedFPIntrinsic &FPI) {
6906 void Verifier::visitDbgIntrinsic(StringRef Kind, DbgVariableIntrinsic &DII) {
6968 void Verifier::visitDbgLabelIntrinsic(StringRef Kind, DbgLabelInst &DLI) {
6999 void Verifier::verifyFragmentExpression(const DbgVariableIntrinsic &I) {
7023 void Verifier::verifyFragmentExpression(const DbgVariableRecord &DVR) {
7049 void Verifier::verifyFragmentExpression(const DIVariable &V,
7065 void Verifier::verifyFnArgs(const DbgVariableIntrinsic &I) {
7093 void Verifier::verifyFnArgs(const DbgVariableRecord &DVR) {
7122 void Verifier::verifyNotEntryValue(const DbgVariableIntrinsic &I) {
7145 void Verifier::verifyNotEntryValue(const DbgVariableRecord &DVR) {
7169 void Verifier::verifyCompileUnits() {
7184 void Verifier::verifyDeoptimizeCallingConvs() {
7197 void Verifier::verifyAttachedCallBundle(const CallBase &Call,
7228 void Verifier::verifyNoAliasScopeDecl() {
7305 Verifier V(OS, /*ShouldTreatBrokenDebugInfoAsError=*/true, *f.getParent());
7315 Verifier V(OS, /*ShouldTreatBrokenDebugInfoAsError=*/!BrokenDebugInfo, M);
7334 std::unique_ptr<Verifier> V;
7347 V = std::make_unique<Verifier>(
7725 INITIALIZE_PASS(VerifierLegacyPass, "verify", "Module Verifier", false, false)