[SLP]Generalize cost model.
authorAlexey Bataev <a.bataev@outlook.com>
Thu, 18 Nov 2021 23:59:30 +0000 (15:59 -0800)
committerAlexey Bataev <a.bataev@outlook.com>
Tue, 18 Oct 2022 18:55:59 +0000 (11:55 -0700)
commit087dadfd37720a380dcb07efd92c889acf836fee
tree83b9fceb5d9bc588e5d5571551be60b4ddb64bf7
parent6bca52be03491e796e82dd51133f29e2b7bda148
[SLP]Generalize cost model.

Generalized the cost model estimation. Improved cost model estimation
for repeated scalars (no need to count their cost anymore), improved
  cost model for extractelement instructions.

cpu2017
   511.povray_r             0.57
   520.omnetpp_r           -0.98
   521.wrf_r               -0.01
   525.x264_r               3.59 <+
   526.blender_r           -0.12
   531.deepsjeng_r         -0.07
   538.imagick_r           -1.42
Geometric mean:  0.21

Differential Revision: https://reviews.llvm.org/D115757
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
llvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
llvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-min-max.ll
llvm/test/Transforms/SLPVectorizer/X86/PR32086.ll
llvm/test/Transforms/SLPVectorizer/X86/reduction-same-vals.ll
llvm/test/Transforms/SLPVectorizer/X86/scalarization-overhead.ll
llvm/test/Transforms/SLPVectorizer/X86/vectorize-reorder-reuse.ll