mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-23 14:25:07 +00:00
[lib/Fuzzer] remove -use_coverage_pairs=1, an experimental feature that is unlikely to ever scale
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238063 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -161,8 +161,6 @@ size_t Fuzzer::RunOne(const Unit &U) {
|
||||
size_t Res = 0;
|
||||
if (Options.UseFullCoverageSet)
|
||||
Res = RunOneMaximizeFullCoverageSet(U);
|
||||
else if (Options.UseCoveragePairs)
|
||||
Res = RunOneMaximizeCoveragePairs(U);
|
||||
else
|
||||
Res = RunOneMaximizeTotalCoverage(U);
|
||||
auto UnitStopTime = system_clock::now();
|
||||
@@ -214,28 +212,6 @@ void Fuzzer::ExecuteCallback(const Unit &U) {
|
||||
}
|
||||
}
|
||||
|
||||
// Experimental. Does not yet scale.
|
||||
// Fuly reset the current coverage state, run a single unit,
|
||||
// collect all coverage pairs and return non-zero if a new pair is observed.
|
||||
size_t Fuzzer::RunOneMaximizeCoveragePairs(const Unit &U) {
|
||||
__sanitizer_reset_coverage();
|
||||
ExecuteCallback(U);
|
||||
uintptr_t *PCs;
|
||||
uintptr_t NumPCs = __sanitizer_get_coverage_guards(&PCs);
|
||||
bool HasNewPairs = false;
|
||||
for (uintptr_t i = 0; i < NumPCs; i++) {
|
||||
if (!PCs[i]) continue;
|
||||
for (uintptr_t j = 0; j < NumPCs; j++) {
|
||||
if (!PCs[j]) continue;
|
||||
uint64_t Pair = (i << 32) | j;
|
||||
HasNewPairs |= CoveragePairs.insert(Pair).second;
|
||||
}
|
||||
}
|
||||
if (HasNewPairs)
|
||||
return CoveragePairs.size();
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Experimental.
|
||||
// Fuly reset the current coverage state, run a single unit,
|
||||
// compute a hash function from the full coverage set,
|
||||
|
Reference in New Issue
Block a user