LLVM
15.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 | |
ModuleAddressSanitizerPass (const AddressSanitizerOptions &Options, bool UseGlobalGC=true, bool UseOdrIndicator=false, AsanDtorKind DestructorKind=AsanDtorKind::Global) | |
PreservedAnalyses | run (Module &M, ModuleAnalysisManager &AM) |
void | printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName) |
![]() | |
void | printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName) |
Static Public Member Functions | |
static bool | isRequired () |
![]() | |
static StringRef | name () |
Gets the name of the pass we are mixed into. More... | |
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 41 of file AddressSanitizer.h.
ModuleAddressSanitizerPass::ModuleAddressSanitizerPass | ( | const AddressSanitizerOptions & | Options, |
bool | UseGlobalGC = true , |
||
bool | UseOdrIndicator = false , |
||
AsanDtorKind | DestructorKind = AsanDtorKind::Global |
||
) |
Definition at line 1116 of file AddressSanitizer.cpp.
|
inlinestatic |
Definition at line 51 of file AddressSanitizer.h.
void ModuleAddressSanitizerPass::printPipeline | ( | raw_ostream & | OS, |
function_ref< StringRef(StringRef)> | MapClassName2PassName | ||
) |
Definition at line 1106 of file AddressSanitizer.cpp.
References llvm::AddressSanitizerOptions::CompileKernel.
PreservedAnalyses ModuleAddressSanitizerPass::run | ( | Module & | M, |
ModuleAnalysisManager & | AM | ||
) |
Definition at line 1122 of file AddressSanitizer.cpp.
References llvm::PreservedAnalyses::all(), ClUseStackSafety, llvm::AddressSanitizerOptions::CompileKernel, F, FAM, llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult(), M, MAM, Modified, llvm::PreservedAnalyses::none(), llvm::AddressSanitizerOptions::Recover, llvm::AddressSanitizerOptions::UseAfterReturn, and llvm::AddressSanitizerOptions::UseAfterScope.