[all-commits] [llvm/llvm-project] 8364db: [LV] Fix the cost of first order recurrence splice...

Sander de Smalen via All-commits all-commits at lists.llvm.org
Fri Apr 17 01:40:52 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8364db5096b6baa00904242eb323d66f1ef96e94
      https://github.com/llvm/llvm-project/commit/8364db5096b6baa00904242eb323d66f1ef96e94
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/splice-cost.ll

  Log Message:
  -----------
  [LV] Fix the cost of first order recurrence splice (#192473)

The index had the wrong sign (for splice.right, the sign is negative),
which meant that it calculates the cost of a splice.left operation. For
SVE this makes a difference because a splice.left is lowered using an
unpredicated EXT instruction, whereas a splice.right is lowered using a
predicated SPLICE instruction, which needs a slightly higher cost.

The change in `reduction-recurrence-costs-sve.ll` happens because the
vector loop is now less profitable (higher cost) and therefore requires
a higher trip-count to be profitable (hence the extra umax).



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list