[all-commits] [llvm/llvm-project] c2441b: [LoopVectorize] Add vector reduction support for f...

RosieSumpter via All-commits all-commits at lists.llvm.org
Wed Nov 24 01:00:04 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c2441b6b89bfe52a16f6c5ed5a0a49c9a02daf2a
      https://github.com/llvm/llvm-project/commit/c2441b6b89bfe52a16f6c5ed5a0a49c9a02daf2a
  Author: Rosie Sumpter <rosie.sumpter at arm.com>
  Date:   2021-11-24 (Wed, 24 Nov 2021)

  Changed paths:
    M llvm/include/llvm/Analysis/IVDescriptors.h
    M llvm/lib/Analysis/IVDescriptors.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll

  Log Message:
  -----------
  [LoopVectorize] Add vector reduction support for fmuladd intrinsic

Enables LoopVectorize to handle reduction patterns involving the
llvm.fmuladd intrinsic.

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


  Commit: 991074012a6c9a294c5c64cf51502934a8e9bb36
      https://github.com/llvm/llvm-project/commit/991074012a6c9a294c5c64cf51502934a8e9bb36
  Author: Rosie Sumpter <rosie.sumpter at arm.com>
  Date:   2021-11-24 (Wed, 24 Nov 2021)

  Changed paths:
    M llvm/include/llvm/IR/Operator.h
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/Operator.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll

  Log Message:
  -----------
  [LoopVectorize] Propagate fast-math flags for VPInstruction

In-loop vector reductions which use the llvm.fmuladd intrinsic involve
the creation of two recipes; a VPReductionRecipe for the fadd and a
VPInstruction for the fmul. If the call to llvm.fmuladd has fast-math flags
these should be propagated through to the fmul instruction, so an
interface setFastMathFlags has been added to the VPInstruction class to
enable this.

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


  Commit: 2d33327f9d4c154e7454c2d830c1caa8e6850f4f
      https://github.com/llvm/llvm-project/commit/2d33327f9d4c154e7454c2d830c1caa8e6850f4f
  Author: Rosie Sumpter <rosie.sumpter at arm.com>
  Date:   2021-11-24 (Wed, 24 Nov 2021)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll

  Log Message:
  -----------
  [LoopVectorize] Print fast-math flags for VPReductionRecipe


  Commit: df32a39dd0f68383a1685a4571715edb70664969
      https://github.com/llvm/llvm-project/commit/df32a39dd0f68383a1685a4571715edb70664969
  Author: Rosie Sumpter <rosie.sumpter at arm.com>
  Date:   2021-11-24 (Wed, 24 Nov 2021)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd-cost.ll

  Log Message:
  -----------
  [LoopVectorize][CostModel] Update cost model for fmuladd intrinsic

This patch updates the cost model for ordered reductions so that a call
to the llvm.fmuladd intrinsic is modelled as a normal fmul instruction
plus the cost of an ordered fadd reduction.

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


Compare: https://github.com/llvm/llvm-project/compare/7f5d9bf13a7d...df32a39dd0f6


More information about the All-commits mailing list