20#ifndef LLVM_IR_VERIFIER_H
21#define LLVM_IR_VERIFIER_H
37struct VerifierSupport;
44 template <
typename... Tys>
void CheckFailed(Tys &&... Args);
54 using TBAABaseNodeSummary = std::pair<bool, unsigned>;
65 TBAAVerifier::TBAABaseNodeSummary verifyTBAABaseNode(
Instruction &
I,
68 TBAABaseNodeSummary verifyTBAABaseNodeImpl(
Instruction &
I,
72 bool isValidScalarTBAANode(
const MDNode *MD);
77 : Diagnostic(Diagnostic) {}
102 bool *BrokenDebugInfo =
nullptr);
137 explicit VerifierPass(
bool FatalErrors =
true) : FatalErrors(FatalErrors) {}
This file defines the DenseMap class.
This header defines various interfaces for pass management in LLVM.
Machine Check Debug Module
Class for arbitrary precision integers.
A container for analyses that lazily runs them and caches their results.
A Module instance is used to store all the information related to an LLVM module.
A set of analyses that are preserved following a run of a transformation pass.
Verify that the TBAA Metadatas are valid.
LLVM_ABI bool visitTBAAMetadata(Instruction &I, const MDNode *MD)
Visit an instruction and return true if it is valid, return false if an invalid TBAA is attached.
TBAAVerifier(VerifierSupport *Diagnostic=nullptr)
Check a module for errors, and report separate error states for IR and debug info errors.
LLVM_ABI Result run(Module &M, ModuleAnalysisManager &)
LLVM_ABI PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM)
VerifierPass(bool FatalErrors=true)
This is an optimization pass for GlobalISel generic memory operations.
LLVM_ABI bool verifyFunction(const Function &F, raw_ostream *OS=nullptr)
Check a function for errors, useful for use when debugging a pass.
LLVM_ABI FunctionPass * createVerifierPass(bool FatalErrors=true)
LLVM_ABI bool verifyModule(const Module &M, raw_ostream *OS=nullptr, bool *BrokenDebugInfo=nullptr)
Check a module for errors.
A CRTP mix-in that provides informational APIs needed for analysis passes.
A special type used by analysis passes to provide an address that identifies that particular analysis...
A CRTP mix-in to automatically provide informational APIs needed for passes.