[PATCH] D145329: AMDGPU: Always split blocks for si_end_cf

Nicolai Hähnle via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 31 02:31:03 PDT 2023


nhaehnle added a comment.

I know we've talked about this in the past but I'm not a fan because it's sort of difficult to justify with a "clean" foundational semantics story.

I think a clean story would be:

- Every basic block has a canonical exec mask
- Basic blocks can have prologs and epilogs in which the canonical exec mask doesn't apply. (SI_END_CF is the prolog case.)

If SI_END_CF is split off, the new basic block containing the SI_END_CF still doesn't have a canonical exec mask that makes sense.

Yes, what I'm thinking of as a clean story would require changing the register allocator a little.


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

https://reviews.llvm.org/D145329



More information about the llvm-commits mailing list