[all-commits] [llvm/llvm-project] c574d2: [SLP]Improve vectorization of stores.

cilkplus via All-commits all-commits at lists.llvm.org
Thu Jul 8 12:49:00 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c574d2fbaca4412c2b758f9049acdb794b2c8764
      https://github.com/llvm/llvm-project/commit/c574d2fbaca4412c2b758f9049acdb794b2c8764
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2021-07-08 (Thu, 08 Jul 2021)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/stores-non-ordered.ll

  Log Message:
  -----------
  [SLP]Improve vectorization of stores.

Patch tries to improve the vectorization of stores. Originally, we just
check the type and the base pointer of the store.
Patch adds some extra checks to avoid non-profitable vectorization
cases. It includes analysis of the scalar values to be stored and
triggers the vectorization attempt only if the scalar values have
same/alt opcode and are from same basic block, i.e. we don't end up
immediately with the gather node, which is not profitable.
This also improves compile time by filtering out non-profitable cases.

Part of D57059.

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




More information about the All-commits mailing list