mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
[SanitizerCoverage] Introduce SanitizerCoverageOptions struct.
Summary: This gives frontend more precise control over collected coverage information. User can still override these options by passing -mllvm flags. No functionality change. Test Plan: regression test suite. Reviewers: kcc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D9539 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236687 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -98,8 +98,28 @@ ModulePass *createDataFlowSanitizerPass(
|
||||
const std::vector<std::string> &ABIListFiles = std::vector<std::string>(),
|
||||
void *(*getArgTLS)() = nullptr, void *(*getRetValTLS)() = nullptr);
|
||||
|
||||
// Options for sanitizer coverage instrumentation.
|
||||
struct SanitizerCoverageOptions {
|
||||
SanitizerCoverageOptions()
|
||||
: CoverageType(SCK_None), IndirectCalls(false), TraceBB(false),
|
||||
TraceCmp(false), Use8bitCounters(false) {}
|
||||
|
||||
enum Type {
|
||||
SCK_None = 0,
|
||||
SCK_Function,
|
||||
SCK_BB,
|
||||
SCK_Edge
|
||||
} CoverageType;
|
||||
bool IndirectCalls;
|
||||
bool TraceBB;
|
||||
bool TraceCmp;
|
||||
bool Use8bitCounters;
|
||||
};
|
||||
|
||||
// Insert SanitizerCoverage instrumentation.
|
||||
ModulePass *createSanitizerCoverageModulePass(int CoverageLevel);
|
||||
ModulePass *createSanitizerCoverageModulePass(
|
||||
const SanitizerCoverageOptions &Options = SanitizerCoverageOptions());
|
||||
|
||||
#if defined(__GNUC__) && defined(__linux__) && !defined(ANDROID)
|
||||
inline ModulePass *createDataFlowSanitizerPassForJIT(
|
||||
|
Reference in New Issue
Block a user