diff options
Diffstat (limited to 'llvm/lib/Fuzzer/FuzzerTracePC.cpp')
-rw-r--r-- | llvm/lib/Fuzzer/FuzzerTracePC.cpp | 9 |
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])); |