LLVM 20.0.0git
|
Public interface to the address sanitizer module pass for instrumenting code to check for various memory errors. More...
#include "llvm/Transforms/Instrumentation/AddressSanitizer.h"
Public Member Functions | |
AddressSanitizerPass (const AddressSanitizerOptions &Options, bool UseGlobalGC=true, bool UseOdrIndicator=true, AsanDtorKind DestructorKind=AsanDtorKind::Global, AsanCtorKind ConstructorKind=AsanCtorKind::Global) | |
PreservedAnalyses | run (Module &M, ModuleAnalysisManager &AM) |
void | printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName) |
Public Member Functions inherited from llvm::PassInfoMixin< AddressSanitizerPass > | |
void | printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName) |
Static Public Member Functions | |
static bool | isRequired () |
Static Public Member Functions inherited from llvm::PassInfoMixin< AddressSanitizerPass > | |
static StringRef | name () |
Gets the name of the pass we are mixed into. | |
Public interface to the address sanitizer module pass for instrumenting code to check for various memory errors.
This adds 'asan.module_ctor' to 'llvm.global_ctors'. This pass may also run intependently of the function address sanitizer.
Definition at line 39 of file AddressSanitizer.h.
AddressSanitizerPass::AddressSanitizerPass | ( | const AddressSanitizerOptions & | Options, |
bool | UseGlobalGC = true , |
||
bool | UseOdrIndicator = true , |
||
AsanDtorKind | DestructorKind = AsanDtorKind::Global , |
||
AsanCtorKind | ConstructorKind = AsanCtorKind::Global |
||
) |
Definition at line 1254 of file AddressSanitizer.cpp.
|
inlinestatic |
Definition at line 48 of file AddressSanitizer.h.
void AddressSanitizerPass::printPipeline | ( | raw_ostream & | OS, |
function_ref< StringRef(StringRef)> | MapClassName2PassName | ||
) |
Definition at line 1244 of file AddressSanitizer.cpp.
References llvm::AddressSanitizerOptions::CompileKernel, OS, and printPipeline().
Referenced by printPipeline().
PreservedAnalyses AddressSanitizerPass::run | ( | Module & | M, |
ModuleAnalysisManager & | AM | ||
) |
Definition at line 1262 of file AddressSanitizer.cpp.
References llvm::PreservedAnalyses::abandon(), llvm::PreservedAnalyses::all(), llvm::checkIfAlreadyInstrumented(), ClUseStackSafety, llvm::AddressSanitizerOptions::CompileKernel, F, FAM, llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult(), llvm::AddressSanitizerOptions::InsertVersionCheck, llvm::AddressSanitizerOptions::InstrumentationWithCallsThreshold, MAM, llvm::AddressSanitizerOptions::MaxInlinePoisoningSize, Modified, llvm::PreservedAnalyses::none(), llvm::AddressSanitizerOptions::Recover, llvm::AddressSanitizerOptions::UseAfterReturn, and llvm::AddressSanitizerOptions::UseAfterScope.