9#ifndef LLDB_SOURCE_PLUGINS_EXPRESSIONPARSER_CLANG_IRDYNAMICCHECKS_H
10#define LLDB_SOURCE_PLUGINS_EXPRESSIONPARSER_CLANG_IRDYNAMICCHECKS_H
23class ExecutionContext;
80 const char *func_name =
"$__lldb_expr");
99 llvm::PassManagerType T = llvm::PMT_ModulePassManager)
override;
bool DoCheckersExplainStop(lldb::addr_t addr, Stream &message) override
std::shared_ptr< UtilityFunction > m_objc_object_check
static bool classof(const DynamicCheckerFunctions *checker_funcs)
llvm::Error Install(DiagnosticManager &diagnostic_manager, ExecutionContext &exe_ctx) override
Install the utility functions into a process.
ClangDynamicCheckerFunctions()
Constructor.
std::shared_ptr< UtilityFunction > m_valid_pointer_check
~ClangDynamicCheckerFunctions() override
Destructor.
Encapsulates dynamic check functions used by expressions.
DynamicCheckerFunctionsKind GetKind() const
"lldb/Target/ExecutionContext.h" A class that contains an execution context.
"lldb/Expression/IRDynamicChecks.h" Adds dynamic checks to a user-entered expression to reduce its li...
~IRDynamicChecks() override
Destructor.
ClangDynamicCheckerFunctions & m_checker_functions
The checker functions for the process.
bool runOnModule(llvm::Module &M) override
Run this IR transformer on a single module.
std::string m_func_name
The name of the function to add checks to.
bool FindDataLoads(llvm::Module &M, llvm::BasicBlock &BB)
A basic block-level pass to find all pointer dereferences and validate them before use.
llvm::PassManagerType getPotentialPassManagerType() const override
Returns PMT_ModulePassManager.
void assignPassManager(llvm::PMStack &PMS, llvm::PassManagerType T=llvm::PMT_ModulePassManager) override
Interface stub.
A stream class that can stream formatted output to a file.
A class that represents a running process on the host machine.