[PATCH] D98940: [AMDGPU] Allow index optimisation in SIPreEmitPeephole for bundles

Austin Kerbow via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 19 10:21:47 PDT 2021


kerbowa added a comment.

It seems like there is an issue with defining exactly which bundles should be allowed to be modified and what passes should be allowed to modify them. There is already a pass that will do unbundling and that seems like the best place to do that if we enabled it.

At a base level, I think of a bundle as a sequence of instructions that shouldn't be rescheduled. Beyond that, there is a lot of ambiguity. We already have a few passes that look into bundles and modify them (hazard, waitcnt, peephole...). It seems error prone to require people writing new passes or new methods of bundling instructions to be aware of exactly whether each pass should consider bundles or how passes may potentially modify bundles.

If the direction we are moving in is to keep bundles intact and have each pass be responsible for understanding how it interacts with bundles then I think the memory legalizer should not be unbundling anything. I could work on that change if we agree.

It would help if we had more clarity on what exactly we thought a bundle should be and eventually had more granularity to identify types of bundles like Jay/Stas were suggesting.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D98940/new/

https://reviews.llvm.org/D98940



More information about the llvm-commits mailing list