[all-commits] [llvm/llvm-project] b013eb: [flang] Lower intrinsics to HLFIR part 1

jeanPerier via All-commits all-commits at lists.llvm.org
Fri Dec 9 01:12:23 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b013ebe059d931fc30dd7283166300e7cc3a86d9
      https://github.com/llvm/llvm-project/commit/b013ebe059d931fc30dd7283166300e7cc3a86d9
  Author: Jean Perier <jperier at nvidia.com>
  Date:   2022-12-09 (Fri, 09 Dec 2022)

  Changed paths:
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/test/Lower/HLFIR/calls-f77.f90

  Log Message:
  -----------
  [flang] Lower intrinsics to HLFIR part 1

This patch adds support for lowering intrinsics that have no dynamic
optionality aspects to handle and that requires argument to be lowered
to value, addr, or box.

It uses the current intrinsic lowering framework that can be re-used in
HLFIR to start with. HLFIR operations for charater/transformational
intrinsics will be added as needed from an optimization point of view.
The current approach will still create temporary variables for their
value directly in lowering.

Later patch will still need to add:
- support for dynamically optional arguments
- inquires
- "moving" the in memory computation of character and transformational
intrinsics to hlfir.expr. This is not needed from a semantic point of
view, but will help optimizing and will probably be required inside
hlfir.elemental returning characters so that the returned element
type is an hlfir.expr and match the result type of later hlfir.apply.

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




More information about the All-commits mailing list