[all-commits] [llvm/llvm-project] 40105a: [SLP]Find reused scalars in buildvector sequences, ...

Alexey Bataev via All-commits all-commits at lists.llvm.org
Wed Apr 5 09:39:38 PDT 2023


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/jumbled-load-multiuse.ll
    M llvm/test/Transforms/SLPVectorizer/X86/matched-shuffled-entries.ll

  Log Message:
  -----------
  [SLP]Find reused scalars in buildvector sequences, if any.

Patch generalizes analysis of scalars. The main part is outlined into
lambda, which can be used to find reused inserted scalars and emit
shuffle for them instead of multiple insertelement instructions, if the
permutation is found alreadyi. I.e. some scalars are transformed by the
permutation of previously vectorized nodes, and some are inserted
directly.

Reworked part of D110978

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




More information about the All-commits mailing list