[all-commits] [llvm/llvm-project] 4a1d63: [VectorCombine] Add option to only run scalarizati...

Florian Hahn via All-commits all-commits at lists.llvm.org
Fri Oct 15 12:39:18 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4a1d63d7d09ff63ccbcb8831972c00dfc9600998
      https://github.com/llvm/llvm-project/commit/4a1d63d7d09ff63ccbcb8831972c00dfc9600998
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2021-10-15 (Fri, 15 Oct 2021)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/VectorCombine.h
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll

  Log Message:
  -----------
  [VectorCombine] Add option to only run scalarization transforms.

This patch adds a pass option to only run transforms that scalarize
vector operations and do not create new vector instructions.

When running VectorCombine early in the pipeline introducing new vector
operations can have negative effects, like blocking loop or SLP
vectorization. To avoid regressions, restrict the early VectorCombine
run (when using -enable-matrix) to only perform scalarization and not
introduce new vector operations.

This is done as option to the pass directly, which is then set when
adding the pass to the pipeline. This is done for the new pass manager
only.

Reviewed By: spatel

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




More information about the All-commits mailing list