[PATCH] D132773: [SLP] Workaround for vectorizing loads with more than one store uses.

Alexey Bataev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Aug 27 10:39:02 PDT 2022


ABataev added a comment.

In D132773#3753642 <https://reviews.llvm.org/D132773#3753642>, @vporpo wrote:

> Yeah I agree, it is too optimistic. What if I also check the contents of the tree to make sure it is a store-load only, and also check that the ordering of the external stores matches the loads?

Maybe try something like this: for each unsuccessful vectotization attempt record stores, which build vectorized store and compare the uses with this stores. The last stores will be vectorized, because all the users are potentially vectorizable. The process then repeats itself, because of the changes in basicblock. And first stores are also vectorized. You can estimate the reordering cost too in this case.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D132773



More information about the llvm-commits mailing list