aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/FrontendAction.cpp
diff options
context:
space:
mode:
authorAnton Afanasyev <anton.a.afanasyev@gmail.com>2021-03-16 10:23:13 +0300
committerAnton Afanasyev <anton.a.afanasyev@gmail.com>2021-05-13 07:41:45 +0300
commitab2c499d3a2ed3d3e13d96e456c57fb35a114b31 (patch)
treecfc0b9b0215ade57fbd6c01176651dd8401199e6 /clang/lib/Frontend/FrontendAction.cpp
parentcd9090031c83ee857f82c3344b6efd97185c928e (diff)
downloadllvm-ab2c499d3a2ed3d3e13d96e456c57fb35a114b31.zip
llvm-ab2c499d3a2ed3d3e13d96e456c57fb35a114b31.tar.gz
llvm-ab2c499d3a2ed3d3e13d96e456c57fb35a114b31.tar.bz2
[SLP] Add insertelement instructions to vectorizable tree
Add new type of tree node for `InsertElementInst` chain forming vector. These instructions could be either removed, or replaced by shuffles during vectorization and we can add this node to cost model, so naturally estimating their cost, getting rid of `CompensateCost` tricks and reducing further work for InstCombine. This fixes PR40522 and PR35732 in a natural way. Also this patch is the first step towards revectorization of partially vectorization (to fix PR42022 completely). After adding inserts to tree the next step is to add vector instructions there (for instance, to merge `store <2 x float>` and `store <2 x float>` to `store <4 x float>`). Fixes PR40522 and PR35732. Differential Revision: https://reviews.llvm.org/D98714
Diffstat (limited to 'clang/lib/Frontend/FrontendAction.cpp')
0 files changed, 0 insertions, 0 deletions