[PATCH] D134723: [AMDGPU] Set memory bound occupancy based on addressable VGPRs
Jay Foad via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 28 05:28:09 PDT 2022
foad added a comment.
> i.e. it should be higher than 4 in many cases to avoid spilling.
As I understand it: the scheduler came up with a schedule that had a max register pressure of 128. For some reason the register allocator (or other post-scheduler passes) failed to meet this limit and actually tried to use more than 128 registers. Normally this would mean that we miss the scheduler's occupancy target, but because 128 was the maximum number of usable registers (on GFX11 before D133723 <https://reviews.llvm.org/D133723>) we spilled instead.
Perhaps it is worth trying to understand *why* we failed to meet the scheduler's estimated limit of 128 registers? It may not be possible for the scheduler to accurately estimate the final register usage in all cases, but perhaps there are some simple problems that we could fix to make the estimate more reliable?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D134723/new/
https://reviews.llvm.org/D134723
More information about the llvm-commits
mailing list