aboutsummaryrefslogtreecommitdiff
path: root/clang/unittests/Frontend/CompilerInstanceTest.cpp
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@outlook.com>2024-09-25 10:23:41 -0400
committerGitHub <noreply@github.com>2024-09-25 10:23:41 -0400
commit3469db82b5c821c94b58c0b81f03bbef51efa30b (patch)
treec31bc767d8750812dc9e45b06a915f9233ea3956 /clang/unittests/Frontend/CompilerInstanceTest.cpp
parentaea06684992873f70c5834e2f455f913e5b8d671 (diff)
downloadllvm-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