[all-commits] [llvm/llvm-project] 866b9f: [SystemZ] Add realistic cost estimates for vector ...

Dominik Steenken via All-commits all-commits at lists.llvm.org
Tue Dec 3 08:09:13 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 866b9f43a0772faee64aa421886eb101118f3167
      https://github.com/llvm/llvm-project/commit/866b9f43a0772faee64aa421886eb101118f3167
  Author: Dominik Steenken <dost at de.ibm.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
    R llvm/test/Analysis/CostModel/SystemZ/reduce-add.ll
    A llvm/test/Analysis/CostModel/SystemZ/vector-reductions.ll
    A llvm/test/Transforms/SLPVectorizer/SystemZ/reductions-fadd.ll
    A llvm/test/Transforms/SLPVectorizer/SystemZ/reductions-fmin-fmax.ll
    A llvm/test/Transforms/SLPVectorizer/SystemZ/reductions-fmul.ll

  Log Message:
  -----------
  [SystemZ] Add realistic cost estimates for vector reduction intrinsics (#118319)

This PR adds more realistic cost estimates for these reduction
intrinsics

- `llvm.vector.reduce.umax`
- `llvm.vector.reduce.umin`
- `llvm.vector.reduce.smax`
- `llvm.vector.reduce.smin`
- `llvm.vector.reduce.fadd`
- `llvm.vector.reduce.fmul`
- `llvm.vector.reduce.fmax`
- `llvm.vector.reduce.fmin`
- `llvm.vector.reduce.fmaximum`
- `llvm.vector.reduce.fminimum`
- `llvm.vector.reduce.mul
`
The pre-existing cost estimates for `llvm.vector.reduce.add` are moved
to `getArithmeticReductionCosts` to reduce complexity in
`getVectorIntrinsicInstrCost` and enable other passes, like the SLP
vectorizer, to benefit from these updated calculations.

These are not expected to provide noticable performance improvements and
are rather provided for the sake of completeness and correctness. This
PR is in draft mode pending benchmark confirmation of this.

This also provides and/or updates cost tests for all of these
intrinsics.

This PR was co-authored by me and @JonPsson1 .



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