[llvm] [llvm-profdata] Fix detailed summary format on Windows (PR #124169)
Ellis Hoag via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 23 10:20:01 PST 2025
https://github.com/ellishg created https://github.com/llvm/llvm-project/pull/124169
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.
>From b4aefdeffa7ea98d78d93d92f5411369e8452652 Mon Sep 17 00:00:00 2001
From: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: Thu, 23 Jan 2025 10:17:14 -0800
Subject: [PATCH] [llvm-profdata] Fix detailed summary format on Windows
---
llvm/lib/IR/ProfileSummary.cpp | 11 ++++++-----
llvm/test/tools/llvm-profdata/general.proftext | 2 --
2 files changed, 6 insertions(+), 7 deletions(-)
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
More information about the llvm-commits
mailing list