[all-commits] [llvm/llvm-project] 708eb1: [SLP]Add shuffling of extractelements to avoid ext...

Alexey Bataev via All-commits all-commits at lists.llvm.org
Mon Feb 20 06:16:42 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 708eb1b96d9a36f9c0182b7d53c492059778fa35
      https://github.com/llvm/llvm-project/commit/708eb1b96d9a36f9c0182b7d53c492059778fa35
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2023-02-20 (Mon, 20 Feb 2023)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/blending-shuffle-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/blending-shuffle.ll
    M llvm/test/Transforms/SLPVectorizer/X86/commutativity.ll
    M llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction-transpose.ll
    M llvm/test/Transforms/SLPVectorizer/X86/remark_extract_broadcast.ll

  Log Message:
  -----------
  [SLP]Add shuffling of extractelements to avoid extra costs/data movement.

If the scalar must be extracted and then used in the gather node,
instead we can emit shuffle instruction to avoid those extra
extractelements and vector-to-scalar and back data movement.

Part of D110978

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




More information about the All-commits mailing list