[all-commits] [llvm/llvm-project] cd9090: [SLP][Test] Fix and precommit tests for D98714
Anton Afanasyev via All-commits
all-commits at lists.llvm.org
Wed May 12 21:43:05 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: cd9090031c83ee857f82c3344b6efd97185c928e
https://github.com/llvm/llvm-project/commit/cd9090031c83ee857f82c3344b6efd97185c928e
Author: Anton Afanasyev <anton.a.afanasyev at gmail.com>
Date: 2021-05-13 (Thu, 13 May 2021)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
Log Message:
-----------
[SLP][Test] Fix and precommit tests for D98714
Commit: ab2c499d3a2ed3d3e13d96e456c57fb35a114b31
https://github.com/llvm/llvm-project/commit/ab2c499d3a2ed3d3e13d96e456c57fb35a114b31
Author: Anton Afanasyev <anton.a.afanasyev at gmail.com>
Date: 2021-05-13 (Thu, 13 May 2021)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/accelerate-vector-functions-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/accelerate-vector-functions.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-root.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/insertelement-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/insertelement.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/transpose-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/transpose.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vectorize-free-extracts-inserts.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/bswap-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/bswap.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/crash_extract_subvector_cost.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/round-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/round.ll
M llvm/test/Transforms/SLPVectorizer/ARM/extract-insert-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/ARM/extract-insert.ll
M llvm/test/Transforms/SLPVectorizer/X86/PR35865-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/PR35865.ll
M llvm/test/Transforms/SLPVectorizer/X86/PR39774.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-fp.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-fp-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-fp.ll
M llvm/test/Transforms/SLPVectorizer/X86/blending-shuffle-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/blending-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/external_user_jumbled_load-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/external_user_jumbled_load.ll
M llvm/test/Transforms/SLPVectorizer/X86/fptosi-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/fptosi.ll
M llvm/test/Transforms/SLPVectorizer/X86/hadd-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/hadd.ll
M llvm/test/Transforms/SLPVectorizer/X86/hsub-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/hsub.ll
M llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll
M llvm/test/Transforms/SLPVectorizer/X86/load-merge-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
M llvm/test/Transforms/SLPVectorizer/X86/long_chains.ll
M llvm/test/Transforms/SLPVectorizer/X86/operandorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr31599-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr31599.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr40522.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr44067-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr44067.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
M llvm/test/Transforms/SLPVectorizer/X86/resched.ll
M llvm/test/Transforms/SLPVectorizer/X86/sext-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/sext.ll
M llvm/test/Transforms/SLPVectorizer/X86/sign-extend-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/sign-extend.ll
M llvm/test/Transforms/SLPVectorizer/X86/sitofp-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/sitofp.ll
M llvm/test/Transforms/SLPVectorizer/X86/value-bug-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/value-bug.ll
M llvm/test/Transforms/SLPVectorizer/X86/zext-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/zext.ll
M llvm/test/Transforms/SLPVectorizer/vectorizable-functions-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/vectorizable-functions.ll
Log Message:
-----------
[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
Compare: https://github.com/llvm/llvm-project/compare/00a0595b253f...ab2c499d3a2e
More information about the All-commits
mailing list