aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-profdata/llvm-profdata.cpp
diff options
context:
space:
mode:
authorKazu Hirata <kazu@google.com>2024-06-13 13:59:01 -0700
committerGitHub <noreply@github.com>2024-06-13 13:59:01 -0700
commit1365ce22e9a419c992cb81824f5176390de83ee6 (patch)
treeaa101747181dd75908ba48cb58ef7a25da4f6fae /llvm/tools/llvm-profdata/llvm-profdata.cpp
parent93181db7fb6cd738bc807e510f87e3a61fb5b3e6 (diff)
downloadllvm-1365ce22e9a419c992cb81824f5176390de83ee6.zip
llvm-1365ce22e9a419c992cb81824f5176390de83ee6.tar.gz
llvm-1365ce22e9a419c992cb81824f5176390de83ee6.tar.bz2
[llvm-profdata] Clean up traverseAllValueSites (NFC) (#95467)
If NV == 0, nothing interesting happens after the "if" statement. We should just "continue" to the next value site. While I am at it, this patch migrates a use of getValueForSite to getValueArrayForSite.
Diffstat (limited to 'llvm/tools/llvm-profdata/llvm-profdata.cpp')
-rw-r--r--llvm/tools/llvm-profdata/llvm-profdata.cpp30
1 files changed, 15 insertions, 15 deletions
diff --git a/llvm/tools/llvm-profdata/llvm-profdata.cpp b/llvm/tools/llvm-profdata/llvm-profdata.cpp
index fae6d1e..6c8ab14 100644
--- a/llvm/tools/llvm-profdata/llvm-profdata.cpp
+++ b/llvm/tools/llvm-profdata/llvm-profdata.cpp
@@ -2695,30 +2695,30 @@ static void traverseAllValueSites(const InstrProfRecord &Func, uint32_t VK,
uint32_t NS = Func.getNumValueSites(VK);
Stats.TotalNumValueSites += NS;
for (size_t I = 0; I < NS; ++I) {
- uint32_t NV = Func.getNumValueDataForSite(VK, I);
- std::unique_ptr<InstrProfValueData[]> VD = Func.getValueForSite(VK, I);
+ auto VD = Func.getValueArrayForSite(VK, I);
+ uint32_t NV = VD.size();
+ if (NV == 0)
+ continue;
Stats.TotalNumValues += NV;
- if (NV) {
- Stats.TotalNumValueSitesWithValueProfile++;
- if (NV > Stats.ValueSitesHistogram.size())
- Stats.ValueSitesHistogram.resize(NV, 0);
- Stats.ValueSitesHistogram[NV - 1]++;
- }
+ Stats.TotalNumValueSitesWithValueProfile++;
+ if (NV > Stats.ValueSitesHistogram.size())
+ Stats.ValueSitesHistogram.resize(NV, 0);
+ Stats.ValueSitesHistogram[NV - 1]++;
uint64_t SiteSum = 0;
- for (uint32_t V = 0; V < NV; V++)
- SiteSum += VD[V].Count;
+ for (const auto &V : VD)
+ SiteSum += V.Count;
if (SiteSum == 0)
SiteSum = 1;
- for (uint32_t V = 0; V < NV; V++) {
+ for (const auto &V : VD) {
OS << "\t[ " << format("%2u", I) << ", ";
if (Symtab == nullptr)
- OS << format("%4" PRIu64, VD[V].Value);
+ OS << format("%4" PRIu64, V.Value);
else
- OS << Symtab->getFuncOrVarName(VD[V].Value);
- OS << ", " << format("%10" PRId64, VD[V].Count) << " ] ("
- << format("%.2f%%", (VD[V].Count * 100.0 / SiteSum)) << ")\n";
+ OS << Symtab->getFuncOrVarName(V.Value);
+ OS << ", " << format("%10" PRId64, V.Count) << " ] ("
+ << format("%.2f%%", (V.Count * 100.0 / SiteSum)) << ")\n";
}
}
}