[libFuzzer] simplify the code in TracePC::HandleTrace a bit more
llvm-svn: 285147
diff --git a/llvm/lib/Fuzzer/FuzzerTracePC.cpp b/llvm/lib/Fuzzer/FuzzerTracePC.cpp
index 9e61247..dc39eed 100644
--- a/llvm/lib/Fuzzer/FuzzerTracePC.cpp
+++ b/llvm/lib/Fuzzer/FuzzerTracePC.cpp
@@ -30,14 +30,10 @@
void TracePC::HandleTrace(uint32_t *Guard, uintptr_t PC) {
uint32_t Idx = *Guard;
if (!Idx) return;
+ if (!PCs[Idx % kNumPCs])
+ PCs[Idx % kNumPCs] = PC;
uint8_t *CounterPtr = &Counters[Idx % kNumCounters];
uint8_t Counter = *CounterPtr;
- if (Counter == 0) {
- if (!PCs[Idx % kNumPCs]) {
- AddNewPCID(Idx);
- PCs[Idx % kNumPCs] = PC;
- }
- }
if (UseCounters) {
if (Counter < 128)
*CounterPtr = Counter + 1;
@@ -51,7 +47,7 @@
size_t TracePC::GetTotalPCCoverage() {
size_t Res = 0;
- for (size_t i = 0; i < Min(NumGuards+1, kNumPCs); i++)
+ for (size_t i = 1; i < GetNumPCs(); i++)
if (PCs[i])
Res++;
return Res;
@@ -140,7 +136,7 @@
if (DoPrintNewPCs) {
if (!PrintedPCs)
PrintedPCs = new std::set<uintptr_t>;
- for (size_t i = 0; i < Min(NumGuards + 1, kNumPCs); i++)
+ for (size_t i = 1; i < GetNumPCs(); i++)
if (PCs[i] && PrintedPCs->insert(PCs[i]).second)
PrintPC("\tNEW_PC: %p %F %L\n", "\tNEW_PC: %p\n", PCs[i]);
}
@@ -156,7 +152,7 @@
std::map<std::string, uintptr_t> ModuleOffsets;
std::set<std::string> CoveredFiles, CoveredFunctions, CoveredLines;
Printf("COVERAGE:\n");
- for (size_t i = 0; i < Min(NumGuards + 1, kNumPCs); i++) {
+ for (size_t i = 1; i < GetNumPCs(); i++) {
if (!PCs[i]) continue;
std::string FileStr = DescribePC("%s", PCs[i]);
if (!IsInterestingCoverageFile(FileStr)) continue;