diff options
Diffstat (limited to 'clang/lib/CodeGen/CodeGenPGO.cpp')
-rw-r--r-- | clang/lib/CodeGen/CodeGenPGO.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/clang/lib/CodeGen/CodeGenPGO.cpp b/clang/lib/CodeGen/CodeGenPGO.cpp index 55a09e8db52..c451bef57c5 100644 --- a/clang/lib/CodeGen/CodeGenPGO.cpp +++ b/clang/lib/CodeGen/CodeGenPGO.cpp @@ -908,11 +908,17 @@ void CodeGenPGO::emitCounterIncrement(CGBuilderTy &Builder, unsigned Counter) { } void CodeGenPGO::loadRegionCounts(PGOProfileData *PGOData) { + CGM.getPGOStats().Visited++; RegionCounts.reset(new std::vector<uint64_t>); uint64_t Hash; - if (PGOData->getFunctionCounts(getFuncName(), Hash, *RegionCounts) || - Hash != FunctionHash || RegionCounts->size() != NumRegionCounters) + if (PGOData->getFunctionCounts(getFuncName(), Hash, *RegionCounts)) { + CGM.getPGOStats().Missing++; RegionCounts.reset(); + } else if (Hash != FunctionHash || + RegionCounts->size() != NumRegionCounters) { + CGM.getPGOStats().Mismatched++; + RegionCounts.reset(); + } } void CodeGenPGO::destroyRegionCounters() { |