13#ifndef LLVM_TRANSFORMS_INSTRUMENTATION_ADDRESSSANITIZER_H
14#define LLVM_TRANSFORMS_INSTRUMENTATION_ADDRESSSANITIZER_H
44 bool UseGlobalGC =
true,
bool UseOdrIndicator =
true,
This header defines various interfaces for pass management in LLVM.
LLVM_ABI AddressSanitizerPass(const AddressSanitizerOptions &Options, bool UseGlobalGC=true, bool UseOdrIndicator=true, AsanDtorKind DestructorKind=AsanDtorKind::Global, AsanCtorKind ConstructorKind=AsanCtorKind::Global)
LLVM_ABI PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM)
LLVM_ABI void printPipeline(raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName)
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.
StringRef - Represent a constant reference to a string, i.e.
An efficient, type-erasing, non-owning reference to a callable.
This class implements an extremely fast bulk output stream that can only output to a stream.
This is an optimization pass for GlobalISel generic memory operations.
AsanDetectStackUseAfterReturnMode
Mode of ASan detect stack use after return.
@ Runtime
Detect stack use after return if not disabled runtime with (ASAN_OPTIONS=detect_stack_use_after_retur...
AsanDtorKind
Types of ASan module destructors supported.
@ Global
Append to llvm.global_dtors.
AsanCtorKind
Types of ASan module constructors supported.
AnalysisManager< Module > ModuleAnalysisManager
Convenience typedef for the Module analysis manager.
const uint8_t AccessSizeIndex
LLVM_ABI ASanAccessInfo(int32_t Packed)
AsanDetectStackUseAfterReturnMode UseAfterReturn
int InstrumentationWithCallsThreshold
uint32_t MaxInlinePoisoningSize
A CRTP mix-in to automatically provide informational APIs needed for passes.