From 741ec2c3c00cd768151fc4cfc37d4e4d43c9f58b Mon Sep 17 00:00:00 2001 From: Kostya Serebryany Date: Fri, 8 Dec 2017 22:21:42 +0000 Subject: [libFuzzer] honor -use_counters, sligntly change the meaning of -experimental_len_control, call UpdateFeatureFrequency only if instructed by the flag git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@320205 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/fuzzer/FuzzerTracePC.h | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'lib/fuzzer/FuzzerTracePC.h') diff --git a/lib/fuzzer/FuzzerTracePC.h b/lib/fuzzer/FuzzerTracePC.h index 9df3d817d..f3bb41e42 100644 --- a/lib/fuzzer/FuzzerTracePC.h +++ b/lib/fuzzer/FuzzerTracePC.h @@ -230,7 +230,10 @@ void TracePC::CollectFeatures(Callback HandleFeature) const { size_t N = GetNumPCs(); auto Handle8bitCounter = [&](size_t FirstFeature, size_t Idx, uint8_t Counter) { - HandleFeature(FirstFeature + Idx * 8 + CounterToFeature(Counter)); + if (UseCounters) + HandleFeature(FirstFeature + Idx * 8 + CounterToFeature(Counter)); + else + HandleFeature(FirstFeature + Idx); }; size_t FirstFeature = 0; @@ -251,8 +254,12 @@ void TracePC::CollectFeatures(Callback HandleFeature) const { if (size_t NumClangCounters = ClangCountersEnd() - ClangCountersBegin()) { auto P = ClangCountersBegin(); for (size_t Idx = 0; Idx < NumClangCounters; Idx++) - if (auto Cnt = P[Idx]) - HandleFeature(FirstFeature + Idx * 8 + CounterToFeature(Cnt)); + if (auto Cnt = P[Idx]) { + if (UseCounters) + HandleFeature(FirstFeature + Idx * 8 + CounterToFeature(Cnt)); + else + HandleFeature(FirstFeature + Idx); + } FirstFeature += NumClangCounters; } -- cgit v1.2.3