[all-commits] [llvm/llvm-project] e91e62: [LV] Sink scalar operands and merge regions repeat...

Florian Hahn via All-commits all-commits at lists.llvm.org
Tue Dec 27 10:10:09 PST 2022

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e91e62db14a5e3175e80cb9985d724fbba10588c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2022-12-27 (Tue, 27 Dec 2022)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll

  Log Message:
  [LV] Sink scalar operands and merge regions repeatedly.

Merging regions can enable new sinking opportunities (e.g. if users of a
scalar value are moved from different VPBBs into the same VPBB). Sinking
in turn can also enable new merging opportunities (e.g. if a recipe
between to merge-able regions is moved.

To enable more sinking opportunities, repeat sinking & merging if
regions could be merged.

Also fix mergeReplicateRegions to return the correct Changed status.

Reviewed By: Ayal

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

More information about the All-commits mailing list