summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Fuzzer/FuzzerLoop.cpp
diff options
context:
space:
mode:
authorKostya Serebryany <kcc@google.com>2016-09-14 02:13:06 +0000
committerKostya Serebryany <kcc@google.com>2016-09-14 02:13:06 +0000
commita00b243c758b14564c146ffc3cd41877ce1e4822 (patch)
treeaf4907ed920bb9e33f7581476862ef81bcb386a5 /llvm/lib/Fuzzer/FuzzerLoop.cpp
parent8cba29181bd33557adfbd9b9886db7d098b0e1a7 (diff)
downloadbcm5719-llvm-a00b243c758b14564c146ffc3cd41877ce1e4822.tar.gz
bcm5719-llvm-a00b243c758b14564c146ffc3cd41877ce1e4822.zip
[libFuzzer] start using trace-pc-guard as an alternative source of coverage
llvm-svn: 281435
Diffstat (limited to 'llvm/lib/Fuzzer/FuzzerLoop.cpp')
-rw-r--r--llvm/lib/Fuzzer/FuzzerLoop.cpp16
1 files changed, 4 insertions, 12 deletions
diff --git a/llvm/lib/Fuzzer/FuzzerLoop.cpp b/llvm/lib/Fuzzer/FuzzerLoop.cpp
index adf0866fd99..f5852cb4c7a 100644
--- a/llvm/lib/Fuzzer/FuzzerLoop.cpp
+++ b/llvm/lib/Fuzzer/FuzzerLoop.cpp
@@ -77,7 +77,8 @@ void Fuzzer::PrepareCounters(Fuzzer::Coverage *C) {
bool Fuzzer::RecordMaxCoverage(Fuzzer::Coverage *C) {
bool Res = false;
- uint64_t NewBlockCoverage = EF->__sanitizer_get_total_unique_coverage();
+ uint64_t NewBlockCoverage =
+ EF->__sanitizer_get_total_unique_coverage() + TPC.GetTotalCoverage();
if (NewBlockCoverage > C->BlockCoverage) {
Res = true;
C->BlockCoverage = NewBlockCoverage;
@@ -103,12 +104,6 @@ bool Fuzzer::RecordMaxCoverage(Fuzzer::Coverage *C) {
}
}
- size_t NewPCMapBits = PCMapMergeFromCurrent(C->PCMap);
- if (NewPCMapBits > C->PCMapBits) {
- Res = true;
- C->PCMapBits = NewPCMapBits;
- }
-
size_t NewVPMapBits = VPMapMergeFromCurrent(C->VPMap);
if (NewVPMapBits > C->VPMapBits) {
Res = true;
@@ -315,8 +310,6 @@ void Fuzzer::PrintStats(const char *Where, const char *End) {
Printf("#%zd\t%s", TotalNumberOfRuns, Where);
if (MaxCoverage.BlockCoverage)
Printf(" cov: %zd", MaxCoverage.BlockCoverage);
- if (MaxCoverage.PCMapBits)
- Printf(" path: %zd", MaxCoverage.PCMapBits);
if (MaxCoverage.VPMapBits)
Printf(" vp: %zd", MaxCoverage.VPMapBits);
if (auto TB = MaxCoverage.CounterBitmapBits)
@@ -508,9 +501,8 @@ std::string Fuzzer::Coverage::DebugString() const {
std::string("Coverage{") + "BlockCoverage=" +
std::to_string(BlockCoverage) + " CallerCalleeCoverage=" +
std::to_string(CallerCalleeCoverage) + " CounterBitmapBits=" +
- std::to_string(CounterBitmapBits) + " PCMapBits=" +
- std::to_string(PCMapBits) + " VPMapBits " +
- std::to_string(VPMapBits) + "}";
+ std::to_string(CounterBitmapBits) +
+ " VPMapBits " + std::to_string(VPMapBits) + "}";
return Result;
}
OpenPOWER on IntegriCloud