summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Fuzzer/FuzzerInternal.h
diff options
context:
space:
mode:
authorKostya Serebryany <kcc@google.com>2015-02-20 03:02:37 +0000
committerKostya Serebryany <kcc@google.com>2015-02-20 03:02:37 +0000
commit2e3622bddded96d6e6479619b4011ac9b3698381 (patch)
tree9e08bb900008a4b5e8ed1d9e6f993b009c719034 /llvm/lib/Fuzzer/FuzzerInternal.h
parent3e18de2dbbe3dd18422441ed13c37dc07182e486 (diff)
downloadbcm5719-llvm-2e3622bddded96d6e6479619b4011ac9b3698381.tar.gz
bcm5719-llvm-2e3622bddded96d6e6479619b4011ac9b3698381.zip
[fuzzer] one more experimental search mode: -use_coverage_pairs=1
llvm-svn: 229957
Diffstat (limited to 'llvm/lib/Fuzzer/FuzzerInternal.h')
-rw-r--r--llvm/lib/Fuzzer/FuzzerInternal.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Fuzzer/FuzzerInternal.h b/llvm/lib/Fuzzer/FuzzerInternal.h
index bc18c551f59..980b00ec17b 100644
--- a/llvm/lib/Fuzzer/FuzzerInternal.h
+++ b/llvm/lib/Fuzzer/FuzzerInternal.h
@@ -49,6 +49,7 @@ class Fuzzer {
int MutateDepth = 5;
bool ExitOnFirst = false;
bool UseFullCoverageSet = false;
+ bool UseCoveragePairs = false;
int PreferSmallDuringInitialShuffle = -1;
size_t MaxNumberOfRuns = ULONG_MAX;
std::string OutputCorpus;
@@ -81,6 +82,7 @@ class Fuzzer {
size_t RunOne(const Unit &U);
size_t RunOneMaximizeTotalCoverage(const Unit &U);
size_t RunOneMaximizeFullCoverageSet(const Unit &U);
+ size_t RunOneMaximizeCoveragePairs(const Unit &U);
void WriteToOutputCorpus(const Unit &U);
static void WriteToCrash(const Unit &U, const char *Prefix);
@@ -92,6 +94,7 @@ class Fuzzer {
std::vector<Unit> Corpus;
std::unordered_set<uintptr_t> FullCoverageSets;
+ std::unordered_set<uint64_t> CoveragePairs;
UserCallback Callback;
FuzzingOptions Options;
system_clock::time_point ProcessStartTime = system_clock::now();
OpenPOWER on IntegriCloud