aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2024-11-13 12:33:04 +0000
committerGitHub <noreply@github.com>2024-11-13 12:33:04 +0000
commit8ae2a18736c15e0d0d9d0893b21bce4f3bf581c9 (patch)
tree0f2c575b528525cdee7c342246a49a1866e56a38 /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
parent1878b94568e77e51f0bc316ba5a8a6b8994b8daf (diff)
downloadllvm-8ae2a18736c15e0d0d9d0893b21bce4f3bf581c9.zip
llvm-8ae2a18736c15e0d0d9d0893b21bce4f3bf581c9.tar.gz
llvm-8ae2a18736c15e0d0d9d0893b21bce4f3bf581c9.tar.bz2
[X86] Use proxy scheduler models for bdver3/bdver4 cpus (#114873)
We don't have specific models for bdver3/bdver4 cpus but we can use the bdver2/znver1 models as proxy standins - these days the models are more useful for analysis than for perfect instruction scheduling so these should be fine. While they don't accurately represent the bdver3/bdver4 architecture (specifically the different fp-pipe layout), they give more accurate latency/throughputs (vs Agner) than the default SandyBridge model, and enable PostRA scheduling which all recent AMD models have benefitted from. I had to use the znver1 model for bdver4 so that we have AVX2 instruction coverage (none of the TBM/XOP/LWP/FMA4 instructions have explicit schedules so this shouldn't be a problem) - they both double-pump 256-bit instructions so this works pretty well. This patch is based off a discussion at the devmtg regarding how easily we can provide an actual scheduler model (or at least approximation) to more of the X86 cpu targets - we can then add specific models if the (unlikely) need arises.
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
0 files changed, 0 insertions, 0 deletions