[all-commits] [llvm/llvm-project] c16702: [SLP]Delay vectorization of postponable values for...

Andrew V. Tischenko via All-commits all-commits at lists.llvm.org
Fri Aug 19 08:40:17 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c16702868485f157f60cd34ac64c5dd5db456d47
      https://github.com/llvm/llvm-project/commit/c16702868485f157f60cd34ac64c5dd5db456d47
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2022-08-19 (Fri, 19 Aug 2022)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    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/insertelement-postpone.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr48879-sroa.ll

  Log Message:
  -----------
  [SLP]Delay vectorization of postponable values for instructions with no users.

SLP vectorizer tries to find the reductions starting the operands of the
instructions with no-users/void returns/etc. But such operands can be
postponable instructions, like Cmp, InsertElement or InsertValue. Such
operands still must be postponed, vectorizer should not try to vectorize
them immediately.

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




More information about the All-commits mailing list