[all-commits] [llvm/llvm-project] 0e1312: [SLP][X86]Fix the cost of reused gathers/buildvect...

Alexey Bataev via All-commits all-commits at lists.llvm.org
Thu Apr 20 09:37:16 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0e1312fbe07c0c14b0317ef62163326b086e0e58
      https://github.com/llvm/llvm-project/commit/0e1312fbe07c0c14b0317ef62163326b086e0e58
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2023-04-20 (Thu, 20 Apr 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Analysis/CostModel/X86/vector-insert-value.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-float-and-extract-lane1.ll
    M llvm/test/Transforms/VectorCombine/X86/extract-fneg-insert.ll

  Log Message:
  -----------
  [SLP][X86]Fix the cost of reused gathers/buildvectors and floats insert.

There are 2 problems in the cost estimation for buildvector/gather.
1. If the buildvector/gather node is the same as another one node, need
   to estimate the cost of this node as 0.
2. The cost of inserting float point register to non-poison vector is
   not 0, it should not be considered free.

Differential Revision: https://reviews.llvm.org/D148801




More information about the All-commits mailing list