[llvm] aa15421 - [llvm-exegesis][X86] Update uop counter mappings for IceLake+
Aiden Grossman via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 11 00:50:09 PST 2024
Author: Aiden Grossman
Date: 2024-11-11T08:48:47Z
New Revision: aa15421b9ff67f362283657f74b2fa7314c25308
URL: https://github.com/llvm/llvm-project/commit/aa15421b9ff67f362283657f74b2fa7314c25308
DIFF: https://github.com/llvm/llvm-project/commit/aa15421b9ff67f362283657f74b2fa7314c25308.diff
LOG: [llvm-exegesis][X86] Update uop counter mappings for IceLake+
This patch updates the uop counter mappings for IceLake, AlderLake, and
SapphireRapids. The names of the counters were changed slightly between
these revisions for whatever reason. Validated by reading the libpfm4
source code and testing the exegesis binary with these changes on a
SapphireRapids system.
Added:
Modified:
llvm/lib/Target/X86/X86PfmCounters.td
Removed:
################################################################################
diff --git a/llvm/lib/Target/X86/X86PfmCounters.td b/llvm/lib/Target/X86/X86PfmCounters.td
index 190dec2f4e391e..0c80f1eaadadb8 100644
--- a/llvm/lib/Target/X86/X86PfmCounters.td
+++ b/llvm/lib/Target/X86/X86PfmCounters.td
@@ -189,13 +189,13 @@ def IceLakePfmCounters : ProcPfmCounters {
let CycleCounter = UnhaltedCoreCyclesPfmCounter;
let UopsCounter = UopsIssuedPfmCounter;
let IssueCounters = [
- PfmIssueCounter<"ICXPort0", "uops_dispatched_port:port_0">,
- PfmIssueCounter<"ICXPort1", "uops_dispatched_port:port_1">,
- PfmIssueCounter<"ICXPort23", "uops_dispatched_port:port_2_3">,
- PfmIssueCounter<"ICXPort49", "uops_dispatched_port:port_4_9">,
- PfmIssueCounter<"ICXPort5", "uops_dispatched_port:port_5">,
- PfmIssueCounter<"ICXPort6", "uops_dispatched_port:port_6">,
- PfmIssueCounter<"ICXPort78", "uops_dispatched_port:port_7_8">
+ PfmIssueCounter<"ICXPort0", "uops_dispatched:port_0">,
+ PfmIssueCounter<"ICXPort1", "uops_dispatched:port_1">,
+ PfmIssueCounter<"ICXPort23", "uops_dispatched:port_2_3">,
+ PfmIssueCounter<"ICXPort49", "uops_dispatched:port_4_9">,
+ PfmIssueCounter<"ICXPort5", "uops_dispatched:port_5">,
+ PfmIssueCounter<"ICXPort6", "uops_dispatched:port_6">,
+ PfmIssueCounter<"ICXPort78", "uops_dispatched:port_7_8">
];
let ValidationCounters = DefaultIntelPfmValidationCounters;
}
@@ -208,16 +208,16 @@ def AlderLakePfmCounters : ProcPfmCounters {
let CycleCounter = UnhaltedCoreCyclesPfmCounter;
let UopsCounter = UopsIssuedPfmCounter;
let IssueCounters = [
- PfmIssueCounter<"ADLPPort00", "uops_dispatched_port:port_0">,
- PfmIssueCounter<"ADLPPort01", "uops_dispatched_port:port_1">,
+ PfmIssueCounter<"ADLPPort00", "uops_dispatched:port_0">,
+ PfmIssueCounter<"ADLPPort01", "uops_dispatched:port_1">,
// The perfmon documentation and thus libpfm seems to incorrectly label
// this performance counter, as ports 2,3, and 11 are actually grouped
// according to most documentation. See #113941 for additional details.
- PfmIssueCounter<"ADLPPort02_03_11", "uops_dispatched_port:port_2_3_10">,
- PfmIssueCounter<"ADLPPort04_09", "uops_dispatched_port:port_4_9">,
- PfmIssueCounter<"ADLPPort05_11", "uops_dispatched_port:port_5_11">,
- PfmIssueCounter<"ADLPPort06", "uops_dispatched_port:port_6">,
- PfmIssueCounter<"ADLPPort07_08", "uops_dispatched_port:port_7_8">
+ PfmIssueCounter<"ADLPPort02_03_11", "uops_dispatched:port_2_3_10">,
+ PfmIssueCounter<"ADLPPort04_09", "uops_dispatched:port_4_9">,
+ PfmIssueCounter<"ADLPPort05_11", "uops_dispatched:port_5_11">,
+ PfmIssueCounter<"ADLPPort06", "uops_dispatched:port_6">,
+ PfmIssueCounter<"ADLPPort07_08", "uops_dispatched:port_7_8">
];
let ValidationCounters = DefaultIntelPfmValidationCounters;
}
@@ -227,16 +227,16 @@ def SapphireRapidsPfmCounters : ProcPfmCounters {
let CycleCounter = UnhaltedCoreCyclesPfmCounter;
let UopsCounter = UopsIssuedPfmCounter;
let IssueCounters = [
- PfmIssueCounter<"SPRPort00", "uops_dispatched_port:port_0">,
- PfmIssueCounter<"SPRPort01", "uops_dispatched_port:port_1">,
+ PfmIssueCounter<"SPRPort00", "uops_dispatched:port_0">,
+ PfmIssueCounter<"SPRPort01", "uops_dispatched:port_1">,
// The perfmon documentation and thus libpfm seems to incorrectly label
// this performance counter, as ports 2,3, and 11 are actually grouped
// according to most documentation. See #113941 for additional details.
- PfmIssueCounter<"SPRPort02_03_11", "uops_dispatched_port:port_2_3_10">,
- PfmIssueCounter<"SPRPort04_09", "uops_dispatched_port:port_4_9">,
- PfmIssueCounter<"SPRPort05_11", "uops_dispatched_port:port_5_11">,
- PfmIssueCounter<"SPRPort06", "uops_dispatched_port:port_6">,
- PfmIssueCounter<"SPRPort07_08", "uops_dispatched_port:port_7_8">,
+ PfmIssueCounter<"SPRPort02_03_11", "uops_dispatched:port_2_3_10">,
+ PfmIssueCounter<"SPRPort04_09", "uops_dispatched:port_4_9">,
+ PfmIssueCounter<"SPRPort05_11", "uops_dispatched:port_5_11">,
+ PfmIssueCounter<"SPRPort06", "uops_dispatched:port_6">,
+ PfmIssueCounter<"SPRPort07_08", "uops_dispatched:port_7_8">,
];
let ValidationCounters = DefaultIntelPfmValidationCounters;
}
More information about the llvm-commits
mailing list