summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Fuzzer/FuzzerTracePC.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Fuzzer/FuzzerTracePC.cpp')
-rw-r--r--llvm/lib/Fuzzer/FuzzerTracePC.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/llvm/lib/Fuzzer/FuzzerTracePC.cpp b/llvm/lib/Fuzzer/FuzzerTracePC.cpp
index ed411f1164b..e17a10b55c7 100644
--- a/llvm/lib/Fuzzer/FuzzerTracePC.cpp
+++ b/llvm/lib/Fuzzer/FuzzerTracePC.cpp
@@ -35,7 +35,6 @@ void TracePC::HandleTrace(uint32_t *Guard, uintptr_t PC) {
if (Counter == 0) {
if (!PCs[Idx % kNumPCs]) {
AddNewPCID(Idx);
- TotalPCCoverage++;
PCs[Idx % kNumPCs] = PC;
}
}
@@ -50,6 +49,14 @@ void TracePC::HandleTrace(uint32_t *Guard, uintptr_t PC) {
}
}
+size_t TracePC::GetTotalPCCoverage() {
+ size_t Res = 0;
+ for (size_t i = 0; i < Min(NumGuards+1, kNumPCs); i++)
+ if (PCs[i])
+ Res++;
+ return Res;
+}
+
void TracePC::HandleInit(uint32_t *Start, uint32_t *Stop) {
if (Start == Stop || *Start) return;
assert(NumModules < sizeof(Modules) / sizeof(Modules[0]));
OpenPOWER on IntegriCloud