[llvm] [BOLT][NFC] Drop unused profile staleness stats (PR #165489)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 28 16:24:51 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-bolt
Author: Amir Ayupov (aaupov)
<details>
<summary>Changes</summary>
Equal number of blocks in a function/instructions in a block between
stale profile and the binary isn't used in the matching.
Remove these stats to unclog the output.
Test Plan: NFC
---
Full diff: https://github.com/llvm/llvm-project/pull/165489.diff
3 Files Affected:
- (modified) bolt/include/bolt/Core/BinaryContext.h (-5)
- (modified) bolt/lib/Passes/BinaryPasses.cpp (-17)
- (modified) bolt/lib/Profile/YAMLProfileReader.cpp (-3)
``````````diff
diff --git a/bolt/include/bolt/Core/BinaryContext.h b/bolt/include/bolt/Core/BinaryContext.h
index 082f1cec34d52..47ee892728ad0 100644
--- a/bolt/include/bolt/Core/BinaryContext.h
+++ b/bolt/include/bolt/Core/BinaryContext.h
@@ -775,11 +775,6 @@ class BinaryContext {
uint64_t PseudoProbeLooseMatchedSampleCount{0};
/// the count of call matched samples
uint64_t CallMatchedSampleCount{0};
- /// the number of stale functions that have matching number of blocks in
- /// the profile
- uint64_t NumStaleFuncsWithEqualBlockCount{0};
- /// the number of blocks that have matching size but a differing hash
- uint64_t NumStaleBlocksWithEqualIcount{0};
} Stats;
// Original binary execution count stats.
diff --git a/bolt/lib/Passes/BinaryPasses.cpp b/bolt/lib/Passes/BinaryPasses.cpp
index 06e840e84f53b..00680045882fc 100644
--- a/bolt/lib/Passes/BinaryPasses.cpp
+++ b/bolt/lib/Passes/BinaryPasses.cpp
@@ -1505,12 +1505,6 @@ Error PrintProgramStats::runOnFunctions(BinaryContext &BC) {
if (NumAllStaleFunctions) {
const float PctStale =
NumAllStaleFunctions / (float)NumAllProfiledFunctions * 100.0f;
- const float PctStaleFuncsWithEqualBlockCount =
- (float)BC.Stats.NumStaleFuncsWithEqualBlockCount /
- NumAllStaleFunctions * 100.0f;
- const float PctStaleBlocksWithEqualIcount =
- (float)BC.Stats.NumStaleBlocksWithEqualIcount /
- BC.Stats.NumStaleBlocks * 100.0f;
auto printErrorOrWarning = [&]() {
if (PctStale > opts::StaleThreshold)
BC.errs() << "BOLT-ERROR: ";
@@ -1533,17 +1527,6 @@ Error PrintProgramStats::runOnFunctions(BinaryContext &BC) {
<< "%) belong to functions with invalid"
" (possibly stale) profile.\n";
}
- BC.outs() << "BOLT-INFO: " << BC.Stats.NumStaleFuncsWithEqualBlockCount
- << " stale function"
- << (BC.Stats.NumStaleFuncsWithEqualBlockCount == 1 ? "" : "s")
- << format(" (%.1f%% of all stale)",
- PctStaleFuncsWithEqualBlockCount)
- << " have matching block count.\n";
- BC.outs() << "BOLT-INFO: " << BC.Stats.NumStaleBlocksWithEqualIcount
- << " stale block"
- << (BC.Stats.NumStaleBlocksWithEqualIcount == 1 ? "" : "s")
- << format(" (%.1f%% of all stale)", PctStaleBlocksWithEqualIcount)
- << " have matching icount.\n";
if (PctStale > opts::StaleThreshold) {
return createFatalBOLTError(
Twine("BOLT-ERROR: stale functions exceed specified threshold of ") +
diff --git a/bolt/lib/Profile/YAMLProfileReader.cpp b/bolt/lib/Profile/YAMLProfileReader.cpp
index 086e47b661e10..f0f87f9baec38 100644
--- a/bolt/lib/Profile/YAMLProfileReader.cpp
+++ b/bolt/lib/Profile/YAMLProfileReader.cpp
@@ -350,9 +350,6 @@ bool YAMLProfileReader::parseFunctionProfile(
<< MismatchedCalls << " calls, and " << MismatchedEdges
<< " edges in profile did not match function " << BF << '\n';
- if (YamlBF.NumBasicBlocks != BF.size())
- ++BC.Stats.NumStaleFuncsWithEqualBlockCount;
-
if (!opts::InferStaleProfile)
return false;
ArrayRef<ProbeMatchSpec> ProbeMatchSpecs;
``````````
</details>
https://github.com/llvm/llvm-project/pull/165489
More information about the llvm-commits
mailing list