[all-commits] [llvm/llvm-project] 3ad260: [flang] add hlfir.sum operation

Tom Eccles via All-commits all-commits at lists.llvm.org
Mon Feb 13 02:52:23 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3ad26060e4bceb2cf9f4959d659cbb29d88344cf
      https://github.com/llvm/llvm-project/commit/3ad26060e4bceb2cf9f4959d659cbb29d88344cf
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2023-02-13 (Mon, 13 Feb 2023)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/HLFIR/HLFIRDialect.h
    M flang/include/flang/Optimizer/HLFIR/HLFIROpBase.td
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.h
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIRDialect.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/test/HLFIR/invalid.fir
    A flang/test/HLFIR/sum.fir

  Log Message:
  -----------
  [flang] add hlfir.sum operation

Add an HLFIR operation for the SUM transformational intrinsic, according
to the design set out in flang/doc/HighLevelFIR.md.

I decided to make hlfir.sum very lenient about the form of its
arguments. This allows the sum intrinsic to be lowered to only this HLFIR
operation, without needing several operations to convert and box
arguments. Having only one operation generated for the intrinsic
invocation should make optimisation passes on HLFIR simpler.

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


  Commit: 9facbb694250ef8d0144629fb07e170162733dea
      https://github.com/llvm/llvm-project/commit/9facbb694250ef8d0144629fb07e170162733dea
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2023-02-13 (Mon, 13 Feb 2023)

  Changed paths:
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/test/Lower/HLFIR/expr-box.f90
    A flang/test/Lower/HLFIR/sum.f90

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

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


  Commit: 2feafd059e9f569eaca02a1928109d9572c49e93
      https://github.com/llvm/llvm-project/commit/2feafd059e9f569eaca02a1928109d9572c49e93
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2023-02-13 (Mon, 13 Feb 2023)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
    A flang/test/HLFIR/sum-bufferization.fir

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

This duplicates some argument lowering and return value processing from
flang/lib/Lower/ConvertCall.cpp. The existing code in CovertCall lowers
directly into the fir.call (without the hlfir transformational intrinsic
operation), and it is too tied to the lowering code to move into
flang/lib/Optimizer to allow for more complete re-use here.

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


Compare: https://github.com/llvm/llvm-project/compare/7c4e45ec7d6d...2feafd059e9f


More information about the All-commits mailing list