[all-commits] [llvm/llvm-project] ab9a81: [SLP]Try to emit canonical shuffle with undef oper...

Andrew V. Tischenko via All-commits all-commits at lists.llvm.org
Tue Oct 4 08:17:53 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ab9a81f736acfb927b0e0b4f0de8710fc2379f70
      https://github.com/llvm/llvm-project/commit/ab9a81f736acfb927b0e0b4f0de8710fc2379f70
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2022-10-04 (Tue, 04 Oct 2022)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/PR35865-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/PR35865.ll
    M llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll

  Log Message:
  -----------
  [SLP]Try to emit canonical shuffle with undef operand.

In the canonical form of the shuffle the poison/undef operand is the
second operand, the patch tries to emit canonical form for partial
vectorization of the buildvector sequence.
Also, this patch starts emitting freeze instruction for shuffles with undef indices if the second shuffle operan is undef, not poison. It is an initial step to D93818, where undef mask element are treated as returning poison value.

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




More information about the All-commits mailing list