class ModuleAddressSanitizerPass

Declaration

class ModuleAddressSanitizerPass : public PassInfoMixin { /* full declaration omitted */ };

Description

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.

Declared at: llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h:36

Inherits from: PassInfoMixin

Member Variables

private llvm::AddressSanitizerOptions Options
private bool UseGlobalGC
private bool UseOdrIndicator
private llvm::AsanDtorKind DestructorKind

Method Overview

  • public ModuleAddressSanitizerPass(const llvm::AddressSanitizerOptions & Options, bool UseGlobalGC = true, bool UseOdrIndicator = false, llvm::AsanDtorKind DestructorKind = AsanDtorKind::Global)
  • public static bool isRequired()
  • public void printPipeline(llvm::raw_ostream & OS, function_ref<llvm::StringRef (llvm::StringRef)> MapClassName2PassName)
  • public llvm::PreservedAnalyses run(llvm::Module & M, llvm::ModuleAnalysisManager & AM)

Methods

ModuleAddressSanitizerPass(
    const llvm::AddressSanitizerOptions& Options,
    bool UseGlobalGC = true,
    bool UseOdrIndicator = false,
    llvm::AsanDtorKind DestructorKind =
        AsanDtorKind::Global)

Declared at: llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h:39

Parameters

const llvm::AddressSanitizerOptions& Options
bool UseGlobalGC = true
bool UseOdrIndicator = false
llvm::AsanDtorKind DestructorKind = AsanDtorKind::Global

static bool isRequired()

Declared at: llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h:46

void printPipeline(
    llvm::raw_ostream& OS,
    function_ref<llvm::StringRef(llvm::StringRef)>
        MapClassName2PassName)

Declared at: llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h:44

Parameters

llvm::raw_ostream& OS
function_ref<llvm::StringRef(llvm::StringRef)> MapClassName2PassName

llvm::PreservedAnalyses run(
    llvm::Module& M,
    llvm::ModuleAnalysisManager& AM)

Declared at: llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h:43

Parameters

llvm::Module& M
llvm::ModuleAnalysisManager& AM