class ModuleSanitizerCoveragePass

Declaration

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

Description

This is the ModuleSanitizerCoverage pass used in the new pass manager. The pass instruments functions for coverage, adds initialization calls to the module for trace PC guards and 8bit counters if they are requested, and appends globals to llvm.compiler.used.

Declared at: llvm/include/llvm/Transforms/Instrumentation/SanitizerCoverage.h:30

Inherits from: PassInfoMixin

Member Variables

private llvm::SanitizerCoverageOptions Options
private std::unique_ptr<SpecialCaseList> Allowlist
private std::unique_ptr<SpecialCaseList> Blocklist

Method Overview

  • public ModuleSanitizerCoveragePass(llvm::SanitizerCoverageOptions Options = llvm::SanitizerCoverageOptions(), const std::vector<std::string> & AllowlistFiles = std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char>>>>(), const std::vector<std::string> & BlocklistFiles = std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char>>>>())
  • public static bool isRequired()
  • public llvm::PreservedAnalyses run(llvm::Module & M, llvm::ModuleAnalysisManager & AM)

Methods

ModuleSanitizerCoveragePass(
    llvm::SanitizerCoverageOptions Options =
        llvm::SanitizerCoverageOptions(),
    const std::vector<std::string>&
        AllowlistFiles = std::vector<
            std::basic_string<
                char,
                std::char_traits<char>,
                std::allocator<char>>,
            std::allocator<std::basic_string<
                char,
                std::char_traits<char>,
                std::allocator<char>>>>(),
    const std::vector<std::string>&
        BlocklistFiles = std::vector<
            std::basic_string<
                char,
                std::char_traits<char>,
                std::allocator<char>>,
            std::allocator<std::basic_string<
                char,
                std::char_traits<char>,
                std::allocator<char>>>>())

Declared at: llvm/include/llvm/Transforms/Instrumentation/SanitizerCoverage.h:33

Parameters

llvm::SanitizerCoverageOptions Options = llvm::SanitizerCoverageOptions()
const std::vector<std::string>& AllowlistFiles = std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char>>>>()
const std::vector<std::string>& BlocklistFiles = std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char>>>>()

static bool isRequired()

Declared at: llvm/include/llvm/Transforms/Instrumentation/SanitizerCoverage.h:48

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

Declared at: llvm/include/llvm/Transforms/Instrumentation/SanitizerCoverage.h:47

Parameters

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