[llvm] [llvm-profdata] Fix detailed summary format on Windows (PR #124169)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 23 10:20:41 PST 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-llvm-ir
Author: Ellis Hoag (ellishg)
<details>
<summary>Changes</summary>
The detailed summary format was changed in https://github.com/llvm/llvm-project/pull/105915 which broke `llvm/test/tools/llvm-profdata/general.proftext` (XFAILed in https://github.com/llvm/llvm-project/pull/124165). Apparently the behavior of `%lu` is different between Linux and Windows, so I reverted back to using `<<` style formats.
---
Full diff: https://github.com/llvm/llvm-project/pull/124169.diff
2 Files Affected:
- (modified) llvm/lib/IR/ProfileSummary.cpp (+6-5)
- (modified) llvm/test/tools/llvm-profdata/general.proftext (-2)
``````````diff
diff --git a/llvm/lib/IR/ProfileSummary.cpp b/llvm/lib/IR/ProfileSummary.cpp
index 59f29e5982dfb0..12ae81ca8d5f3f 100644
--- a/llvm/lib/IR/ProfileSummary.cpp
+++ b/llvm/lib/IR/ProfileSummary.cpp
@@ -259,10 +259,11 @@ void ProfileSummary::printSummary(raw_ostream &OS) const {
void ProfileSummary::printDetailedSummary(raw_ostream &OS) const {
OS << "Detailed summary:\n";
for (const auto &Entry : DetailedSummary) {
- OS << format("%lu blocks (%.2f%%) with count >= %lu account for %0.6g%% of "
- "the total counts.\n",
- Entry.NumCounts,
- NumCounts ? (100.f * Entry.NumCounts / NumCounts) : 0,
- Entry.MinCount, 100.f * Entry.Cutoff / Scale);
+ OS << Entry.NumCounts << " blocks "
+ << format("(%.2f%%)",
+ NumCounts ? (100.f * Entry.NumCounts / NumCounts) : 0)
+ << " with count >= " << Entry.MinCount << " account for "
+ << format("%0.6g", 100.f * Entry.Cutoff / Scale)
+ << "% of the total counts.\n";
}
}
diff --git a/llvm/test/tools/llvm-profdata/general.proftext b/llvm/test/tools/llvm-profdata/general.proftext
index ca532f9a37116d..89762f2540f6a6 100644
--- a/llvm/test/tools/llvm-profdata/general.proftext
+++ b/llvm/test/tools/llvm-profdata/general.proftext
@@ -1,5 +1,3 @@
-# FIXME: Somehow this is failing on windows after https://github.com/llvm/llvm-project/pull/105915
-# XFAIL: system-windows
# RUN: llvm-profdata merge -sparse=true %s -o %t.profdata
# RUN: llvm-profdata merge -sparse=false %s -o %t.profdata.dense
``````````
</details>
https://github.com/llvm/llvm-project/pull/124169
More information about the llvm-commits
mailing list