[PATCH] D70068: [SLP] Enhance SLPVectorizer to vectorize vector aggregate

Anton Afanasyev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 15 00:38:28 PST 2019


anton-afanasyev marked an inline comment as done.
anton-afanasyev added a comment.

In D70068#1746753 <https://reviews.llvm.org/D70068#1746753>, @vporpo wrote:

> I think we cannot handle several similar cases with aggregates inside aggregates (e.g., [2 x {float, float}], {{float, float}, {float, float}}). Perhaps we could address some of these cases too with this patch? Please see the tests below:
>  ...


Good point! I've checked your case `{{float, float}, {float, float}}` with modified patch and it has been successfully vectorized. But this has required several hacks.
So may be a separate patch is better? One needs modify `canMapToVector()` and `findBuildAggregate()` to be recursive, merge `findBuildVector()` and `findBuildAggregate()` -- I can send it to review as a following patch, while fixing next, `Matrix22` part of https://llvm.org/pr42022 issue.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D70068





More information about the llvm-commits mailing list