aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
diff options
context:
space:
mode:
authorFlorian Hahn <flo@fhahn.com>2024-04-13 08:14:40 +0100
committerGitHub <noreply@github.com>2024-04-13 08:14:40 +0100
commit6d66db3890a18e3926a49cbfeb28e99c464cfcd5 (patch)
treef38259aaf37e3bd538655460d9a448d115b79e0d /lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
parentdf9c00beea5be08fc47aaea58eae333fc6cbef33 (diff)
downloadllvm-6d66db3890a18e3926a49cbfeb28e99c464cfcd5.zip
llvm-6d66db3890a18e3926a49cbfeb28e99c464cfcd5.tar.gz
llvm-6d66db3890a18e3926a49cbfeb28e99c464cfcd5.tar.bz2
[SLP] Initial vectorization of non-power-of-2 ops. (#77790)
This patch enables vectorization for non-power-of-2 VFs. Initially only VFs where adding 1 makes the VF a power-of-2, i.e. we can still make relatively effective use of the vectors. It relies on the existing target cost-models to return accurate costs for non-power-of-2 vectors. I checked mostly AArch64 and X86 and there the costs seem reasonable for the costs I checked, although I expect there will be a need to refine both the cost-models and lowering to make most effective use of non-power-of-2 SLP vectorization. Note that re-ordering and shuffling is not implemented for nodes requiring padding yet to keep the initial implementation simpler. The feature is guarded by a new flag, off by defaul for now. PR: https://github.com/llvm/llvm-project/pull/77790
Diffstat (limited to 'lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp')
0 files changed, 0 insertions, 0 deletions