[llvm] [AMDGPU][VOPD] Limit VOPDPairing from reaching over load dependencies (PR #201930)
Zach Goldthorpe via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 8 07:10:46 PDT 2026
zGoldthorpe wrote:
> Right, and I think that makes the whole concept of this patch pretty dubious. Wouldn't it be better if we could still add the VOPD pairing edge, but somehow tell the scheduler to treat it with lower priority than memory clustering edges?
One problem is that, from what I can see, there aren't actually any memory clustering edges before VOPD pairing (post-RA).
I would also argue that the pairs `VOPDPairingMutation` tries to add are not necessarily worth preserving in the first place; the formation of them is greedy and made without any consideration of dependencies at all, currently. This means that it's inevitably pushing for some infeasible pairings, and this may come at the cost of pairings that could validly be made instead.
I know the check I add in this patch is ad hoc; I think a proper fix in this direction requires more thought, but I wanted to get a conversation started to see if it would be worthwhile, or if the better solution is to keep `VOPDPairingMutation` a simple but naive greedy algorithm and try to find a way to work around poorly-chosen pairing edges.
https://github.com/llvm/llvm-project/pull/201930
More information about the llvm-commits
mailing list