[llvm] [AMDGPU] Teach iterative schedulers about IGLP (PR #134953)
Jeffrey Byrnes via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 11 13:02:07 PDT 2025
jrbyrnes wrote:
> Does this avoid adding the mutations twice with `gcn-iterative-max-occupancy-experimental`?
Yeah the `swapIGLPMutations` method just throws away any previous mutations, and adds a single iglp instance.
For the `gcn-iterative-max-occupancy-experimental` we do multiple scheduling passes over high RP regions -- through `tryMaximizeOccupancy` and `Ovr.schedule()` . Before scheduling each region for each of these entries, we call `swapIGLPMutations` before building the region DAG. The effect is to just have the a single iglp mutation when postprocessing the DAG for each region for each scheduling pass -- so that every pass will honor the IGLP constraints, but we aren't double applying. Reentry is tracked for IGLP features which depend on it.
Ran a couple sanity check tests and things look as expected.
https://github.com/llvm/llvm-project/pull/134953
More information about the llvm-commits
mailing list