[PATCH] D19501: Add LoadStoreVectorizer pass

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 26 13:08:44 PDT 2016


arsenm added a comment.

In http://reviews.llvm.org/D19501#411411, @mzolotukhin wrote:

> Yeah, I can see the motivation, but my question was why not to add this capability to SLP instead of creating a completely new pass. This seems to be introducing a lot of code duplication.
>
> Michael


It's not exactly the same problem. It tries to vectorize stores, and then vectorize if the operations leading to the stores are vectorizable, and then the loads. This vectorizes loads and stores, ignores the intervening instructions (which there may be none of. Loads that are used to compute something that may not be stored should also be vectorized). The LoadStoreVectorizer should be able to produce vectors of arbitrary size and split them as requested by the target, even if the types are not legal.


http://reviews.llvm.org/D19501





More information about the llvm-commits mailing list