[llvm] [Exegesis] Print epsilon value in the sched model inconsistency report (PR #80080)
Min-Yih Hsu via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 30 15:44:05 PST 2024
https://github.com/mshockwave created https://github.com/llvm/llvm-project/pull/80080
Since I've formatted the epsilon value, I don't think it's necessary to escape it.
>From 00a6365c1749c13e4dc466bf2720834f23474f50 Mon Sep 17 00:00:00 2001
From: Min Hsu <min.hsu at sifive.com>
Date: Tue, 30 Jan 2024 14:50:09 -0800
Subject: [PATCH] [Exegesis] Print epsilon value in the sched model
inconsistency report
---
llvm/test/tools/llvm-exegesis/X86/analysis-epsilons.test | 2 ++
llvm/tools/llvm-exegesis/lib/Analysis.cpp | 3 +++
2 files changed, 5 insertions(+)
diff --git a/llvm/test/tools/llvm-exegesis/X86/analysis-epsilons.test b/llvm/test/tools/llvm-exegesis/X86/analysis-epsilons.test
index 9d9b09d0c6a10..405b15a986218 100644
--- a/llvm/test/tools/llvm-exegesis/X86/analysis-epsilons.test
+++ b/llvm/test/tools/llvm-exegesis/X86/analysis-epsilons.test
@@ -20,10 +20,12 @@
# CHECK-CLUSTERS-ONE-NEXT: {{^}}0,
# CHECK-CLUSTERS-ONE-SAME: ,100.00{{$}}
+# CHECK-INCONSISTENCIES-FAIL: Epsilon: <span class="mono">0.10</span>
# CHECK-INCONSISTENCIES-FAIL: contains instructions whose performance characteristics do not match that of LLVM
# CHECK-INCONSISTENCIES-FAIL: contains instructions whose performance characteristics do not match that of LLVM
# CHECK-INCONSISTENCIES-FAIL-NOT: contains instructions whose performance characteristics do not match that of LLVM
+# CHECK-INCONSISTENCIES-PASS: Epsilon: <span class="mono">100.00</span>
# CHECK-INCONSISTENCIES-PASS-NOT: contains instructions whose performance characteristics do not match that of LLVM
---
diff --git a/llvm/tools/llvm-exegesis/lib/Analysis.cpp b/llvm/tools/llvm-exegesis/lib/Analysis.cpp
index 418fee8be74f0..be10c32cf08d5 100644
--- a/llvm/tools/llvm-exegesis/lib/Analysis.cpp
+++ b/llvm/tools/llvm-exegesis/lib/Analysis.cpp
@@ -524,6 +524,9 @@ Error Analysis::run<Analysis::PrintSchedClassInconsistencies>(
OS << "</span></h3><h3>Cpu: <span class=\"mono\">";
writeEscaped<kEscapeHtml>(OS, FirstPoint.CpuName);
OS << "</span></h3>";
+ OS << "<h3>Epsilon: <span class=\"mono\">"
+ << format("%0.2f", std::sqrt(AnalysisInconsistencyEpsilonSquared_))
+ << "</span></h3>";
const auto &SI = State_.getSubtargetInfo();
for (const auto &RSCAndPoints : makePointsPerSchedClass()) {
More information about the llvm-commits
mailing list