diff options
author | Alexey Bataev <a.bataev@outlook.com> | 2024-09-25 10:23:41 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-25 10:23:41 -0400 |
commit | 3469db82b5c821c94b58c0b81f03bbef51efa30b (patch) | |
tree | c31bc767d8750812dc9e45b06a915f9233ea3956 /clang/unittests/Frontend/CompilerInstanceTest.cpp | |
parent | aea06684992873f70c5834e2f455f913e5b8d671 (diff) | |
download | llvm-3469db82b5c821c94b58c0b81f03bbef51efa30b.zip llvm-3469db82b5c821c94b58c0b81f03bbef51efa30b.tar.gz llvm-3469db82b5c821c94b58c0b81f03bbef51efa30b.tar.bz2 |
[SLP]Add subvector vectorization for non-load nodes
Previously SLP vectorize supported clustered vectorization for loads
only. This patch adds support for "clustered" vectorization for other
instructions.
If the buildvector node contains "clusters", which can be vectorized
separately and then inserted into the resulting buildvector result, it
is better to do, since it may reduce the cost of the vector graph and
produce better vector code.
The patch does some analysis, if it is profitable to try to do this kind
of extra vectorization. It checks the scalar instructions and its
operands and tries to vectorize them only if they result in a better
graph.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/108430
Diffstat (limited to 'clang/unittests/Frontend/CompilerInstanceTest.cpp')
0 files changed, 0 insertions, 0 deletions