LLVM 22.0.0git
|
This is a public interface to the hardware address sanitizer pass for instrumenting code to check for various memory errors at runtime, similar to AddressSanitizer but based on partial hardware assistance. More...
#include "llvm/Transforms/Instrumentation/HWAddressSanitizer.h"
Public Member Functions | |
HWAddressSanitizerPass (HWAddressSanitizerOptions Options) | |
LLVM_ABI PreservedAnalyses | run (Module &M, ModuleAnalysisManager &MAM) |
LLVM_ABI 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. | |
This is a public interface to the hardware address sanitizer pass for instrumenting code to check for various memory errors at runtime, similar to AddressSanitizer but based on partial hardware assistance.
Definition at line 40 of file HWAddressSanitizer.h.
|
inlineexplicit |
Definition at line 42 of file HWAddressSanitizer.h.
|
inlinestatic |
Definition at line 45 of file HWAddressSanitizer.h.
void HWAddressSanitizerPass::printPipeline | ( | raw_ostream & | OS, |
function_ref< StringRef(StringRef)> | MapClassName2PassName | ||
) |
Definition at line 534 of file HWAddressSanitizer.cpp.
References llvm::HWAddressSanitizerOptions::CompileKernel, OS, printPipeline(), and llvm::HWAddressSanitizerOptions::Recover.
Referenced by printPipeline().
PreservedAnalyses HWAddressSanitizerPass::run | ( | Module & | M, |
ModuleAnalysisManager & | MAM | ||
) |
Definition at line 506 of file HWAddressSanitizer.cpp.
References llvm::PreservedAnalyses::abandon(), llvm::PreservedAnalyses::all(), llvm::checkIfAlreadyInstrumented(), llvm::HWAddressSanitizerOptions::CompileKernel, llvm::HWAddressSanitizerOptions::DisableOptimization, F, FAM, llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult(), MAM, llvm::PreservedAnalyses::none(), llvm::PreservedAnalyses::preserve(), and llvm::HWAddressSanitizerOptions::Recover.