[PATCH] D100751: [VPlan] Properly handle sinking of replicate regions.

Ayal Zaks via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 5 13:26:08 PDT 2021


Ayal added inline comments.


================
Comment at: llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:8966
     VPRecipeBase *Sink = RecipeBuilder.getRecipe(Entry.first);
     VPRecipeBase *Target = RecipeBuilder.getRecipe(Entry.second);
     // If the target is in a replication region, make sure to move Sink to the
----------------
fhahn wrote:
> fhahn wrote:
> > Ayal wrote:
> > > > I think we also need to deal with the case when the target is a
> > > > replicate region also. I'll put up a patch once I constructed a test
> > > > for that scenario.
> > > 
> > > Agreed. Worth adding an assert in the meanwhile?
> > That's a great idea, I added an assert.
> Actually this case is already handled, not sure if I was thinking about something else. I also updated the logic to check directly whether `sink` is in a replicate region, same as for `target`.
Worth mentioning where the case having both sink and target predicated is handled(?)

Better rename `Region` >> `TargetRegion`.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D100751



More information about the llvm-commits mailing list