[all-commits] [llvm/llvm-project] 41b526: [flang] add hlfir.product operation

Jacob Crawley via All-commits all-commits at lists.llvm.org
Thu May 4 04:24:22 PDT 2023

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 41b526867824f02b5a56d0641cb8e79f76ad9139
  Author: Jacob Crawley <jacob.crawley at arm.com>
  Date:   2023-05-04 (Thu, 04 May 2023)

  Changed paths:
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/test/HLFIR/invalid.fir
    A flang/test/HLFIR/product.fir

  Log Message:
  [flang] add hlfir.product operation

Adds a HLFIR operation for the PRODUCT intrinsic according to
the design set out in flang/doc/HighLevelFIR.md

Since the PRODUCT intrinsic is essentially identical to SUM
in terms of its arguments and result characteristics in the
Fortran Standard, the operation definition and subsequent
tests also take the same form.

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

  Commit: 508d49a55c18ebfefa3a22b15dd3e94846293952
  Author: Jacob Crawley <jacob.crawley at arm.com>
  Date:   2023-05-04 (Thu, 04 May 2023)

  Changed paths:
    M flang/lib/Lower/ConvertCall.cpp
    M flang/test/Lower/HLFIR/expr-box.f90
    A flang/test/Lower/HLFIR/product.f90

  Log Message:
  [flang] lower product intrinsic to hlfir.product operation

Carries out the initial lowering of the product intrinsic into HLFIR
following a similar method to sum, the --use-hlfir-intrinsic-ops flag
in test/Lower/HLFIR/expr-box is set to false so that the tests will
pass until hlfir.product is lowered into fir.call

Depends on: D147624

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

  Commit: 7c57195c49c7847bd2fcab2a91dcdea178b60d42
  Author: Jacob Crawley <jacob.crawley at arm.com>
  Date:   2023-05-04 (Thu, 04 May 2023)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
    A flang/test/HLFIR/product-lowering.fir

  Log Message:
  [flang][hlfir] lower hlfir.product into fir runtime call

The shared code for lowering the sum and product operations in
flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp have
been moved into a new class HlfirReductionIntrinsicConverion.

Depends on: D148719

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

Compare: https://github.com/llvm/llvm-project/compare/b88023c25729...7c57195c49c7

More information about the All-commits mailing list