diff options
Diffstat (limited to 'llvm/tools/llvm-dwarfdump/Statistics.cpp')
| -rw-r--r-- | llvm/tools/llvm-dwarfdump/Statistics.cpp | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/llvm/tools/llvm-dwarfdump/Statistics.cpp b/llvm/tools/llvm-dwarfdump/Statistics.cpp index 2d0f30476e3..5bef4d5148c 100644 --- a/llvm/tools/llvm-dwarfdump/Statistics.cpp +++ b/llvm/tools/llvm-dwarfdump/Statistics.cpp @@ -138,18 +138,16 @@ static void collectLocStats(uint64_t BytesCovered, uint64_t BytesInScope, std::vector<unsigned> &VarLocStats, bool IsParam, bool IsLocalVar) { auto getCoverageBucket = [BytesCovered, BytesInScope]() -> unsigned { - unsigned LocBucket = 100 * (double)BytesCovered / BytesInScope; - if (LocBucket == 0) { - // No debug location at all for the variable. + // No debug location at all for the variable. + if (BytesCovered == 0) return 0; - } else if (LocBucket == 100 || BytesCovered > BytesInScope) { - // Fully covered variable within its scope. + // Fully covered variable within its scope. + if (BytesCovered >= BytesInScope) return NumOfCoverageCategories - 1; - } else { - // Get covered range (e.g. 20%-29%). - LocBucket /= 10; - return LocBucket + 1; - } + // Get covered range (e.g. 20%-29%). + unsigned LocBucket = 100 * (double)BytesCovered / BytesInScope; + LocBucket /= 10; + return LocBucket + 1; }; unsigned CoverageBucket = getCoverageBucket(); @@ -430,9 +428,9 @@ static void printLocationStats(raw_ostream &OS, << LocationStats[0]; LLVM_DEBUG(llvm::dbgs() << Key << " with 0% of its scope covered: " << LocationStats[0] << '\n'); - OS << ",\"" << Key << " with [1%,10%) of its scope covered\":" + OS << ",\"" << Key << " with (0%,10%) of its scope covered\":" << LocationStats[1]; - LLVM_DEBUG(llvm::dbgs() << Key << " with [1%,10%) of its scope covered: " + LLVM_DEBUG(llvm::dbgs() << Key << " with (0%,10%) of its scope covered: " << LocationStats[1] << '\n'); for (unsigned i = 2; i < NumOfCoverageCategories - 1; ++i) { OS << ",\"" << Key << " with [" << (i - 1) * 10 << "%," << i * 10 |

