[all-commits] [llvm/llvm-project] 0d2a0b: [VectorCombine] scalarize binop of inserted elemen...

RotateRight via All-commits all-commits at lists.llvm.org
Fri May 8 13:36:28 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 0d2a0b44c812e5aafa418e4806171867f3181cbe
      https://github.com/llvm/llvm-project/commit/0d2a0b44c812e5aafa418e4806171867f3181cbe
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2020-05-08 (Fri, 08 May 2020)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/insert-binop.ll

  Log Message:
  -----------
  [VectorCombine] scalarize binop of inserted elements into vector constants

As with the extractelement patterns that are currently in vector-combine,
there are going to be several possible variations on this theme. This
should be the clearest, simplest example.

Scalarization is the right direction for target-independent canonicalization,
and InstCombine has some of those folds already, but it doesn't do this.
I proposed a similar transform in D50992. Here in vector-combine, we can
check the cost model to be sure it's profitable, so there should be less risk.

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




More information about the All-commits mailing list