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>>>>())
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()
static bool isRequired()
Declared at: llvm/include/llvm/Transforms/Instrumentation/SanitizerCoverage.h:48
¶llvm::PreservedAnalyses run(
llvm::Module& M,
llvm::ModuleAnalysisManager& AM)
llvm::PreservedAnalyses run(
llvm::Module& M,
llvm::ModuleAnalysisManager& AM)
Declared at: llvm/include/llvm/Transforms/Instrumentation/SanitizerCoverage.h:47