[PATCH] D108914: [X86] Copy X86SchedSkylakeServer.td to X86SchedIcelake.td
Simon Pilgrim via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 30 06:03:14 PDT 2021
RKSimon created this revision.
RKSimon added reviewers: pengfei, craig.topper, lebedev.ri, courbet.
Herald added subscribers: mstojanovic, jfb, hiraditya.
RKSimon requested review of this revision.
Herald added a project: LLVM.
Icelake, Rocketlake and Tigerlake targets currently use the SkylakeServer scheduler model, despite being a later microarchitecture, leading to both reported bugs (PR48110) and discrepancies when comparing llvm-mca reports to other profiling tools (OSACA, uops, uica, etc.). And tbh I'm getting sick of llvm-mca getting blamed for what are backend scheduler model issues :-(
This patch doesn't attempt to fix any of these discrepancies - there should be no changes in codegen - its a setup patch that copies the skx model, renames all the resources, adds the additional ports (but doesn't reference them yet) and updates the llvm-exegesis pfm counter mappings (based off https://sourceforge.net/p/perfmon2/libpfm4/ci/master/tree/lib/events/intel_icl_events.h).
This should make it trivial for anyone with hardware access to use llvm-exegesis reports to iteratively improve the model (my attempts to get hold of a cheap tiger lake box haven't been fruitful yet....).
I haven't included any llvm-mca resource tests, but they are trivial to add once this patch is in place, but I can pre-commit the existing skylake tests if people think its useful (the diff should entirely be the resource renames).
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D108914
Files:
llvm/lib/Target/X86/X86.td
llvm/lib/Target/X86/X86PfmCounters.td
llvm/lib/Target/X86/X86SchedIcelake.td
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D108914.369429.patch
Type: text/x-patch
Size: 123509 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210830/cff9172d/attachment.bin>
More information about the llvm-commits
mailing list