[PATCH] D131015: [LV] Track all IR blocks corresponding to VPBasicBlock

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 6 10:40:17 PDT 2022


fhahn added reviewers: Ayal, gilr.
fhahn added a comment.

> The existing code is only correct when a VPBasicBlock in the header or latch position corresponds to exactly one BasicBlock. This happens to be true as the only VPBasicBlock which corresponds to more than one BasicBlock today is a VPReplicateRecipe which (as an implementation detail) can't be either a loop header or latch.

I am not sure this is accurate, at the moment a non-predicated VPReplicateRecipe can be in any block I think.  Predicated VPReplicateRecipes must be in a VPBasicBlock in a VPRegionBlock. IIUC this may become an issue after D131118 <https://reviews.llvm.org/D131118> if regular VPReplicateRecipes could be expanded to multiple basic blocks?

If that's the issue, it would probably be clearer if this is modeled explicitly, by putting such recipes into their own region, more faithfully representing the fact that a loop will be generated for them.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D131015



More information about the llvm-commits mailing list