[PATCH] D111800: [VectorCombine] Add option to only run scalarization transforms.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 14 06:09:03 PDT 2021


fhahn created this revision.
fhahn added reviewers: spatel, RKSimon, lebedev.ri, anemet.
Herald added a subscriber: hiraditya.
fhahn requested review of this revision.
Herald added a project: LLVM.

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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D111800

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D111800.379689.patch
Type: text/x-patch
Size: 6760 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211014/4e755a8a/attachment.bin>


More information about the llvm-commits mailing list