[SLP]Improve shuffles cost estimation where possible.
authorAlexey Bataev <a.bataev@outlook.com>
Thu, 9 Dec 2021 18:34:08 +0000 (10:34 -0800)
committerAlexey Bataev <a.bataev@outlook.com>
Thu, 2 Jun 2022 18:18:14 +0000 (11:18 -0700)
commit9980c9971892378ea82475e000de8df210a58e69
treef091f6a9301acb76a7f9f6e6f0126fd1539af9c1
parent4c1e487c413810655757ea19d0cf3d4f5c40898e
[SLP]Improve shuffles cost estimation where possible.

Improved/fixed cost modeling for shuffles by providing masks, improved
cost model for non-identity insertelements.

Differential Revision: https://reviews.llvm.org/D115462
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
llvm/test/Transforms/SLPVectorizer/AArch64/accelerate-vector-functions-inseltpoison.ll
llvm/test/Transforms/SLPVectorizer/AArch64/accelerate-vector-functions.ll
llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
llvm/test/Transforms/SLPVectorizer/X86/PR39774.ll
llvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll
llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
llvm/test/Transforms/SLPVectorizer/X86/load-merge-inseltpoison.ll
llvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
llvm/test/Transforms/SLPVectorizer/X86/malformed_phis.ll
llvm/test/Transforms/SLPVectorizer/X86/resched.ll