[all-commits] [llvm/llvm-project] ebd0b8: [flang][hlfir] Special handling for temporary LHS ...

Slava Zakharin via All-commits all-commits at lists.llvm.org
Mon Jun 26 18:28:25 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ebd0b8a0472b865b7eb6e1a32af97ae31d829033
      https://github.com/llvm/llvm-project/commit/ebd0b8a0472b865b7eb6e1a32af97ae31d829033
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2023-06-26 (Mon, 26 Jun 2023)

  Changed paths:
    M flang/docs/HighLevelFIR.md
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
    M flang/test/HLFIR/as_expr-codegen.fir
    M flang/test/HLFIR/assign-codegen.fir
    M flang/test/HLFIR/bufferize01.fir
    M flang/test/HLFIR/elemental-codegen-nested.fir
    M flang/test/HLFIR/elemental-codegen.fir
    M flang/test/HLFIR/invalid.fir
    M flang/test/HLFIR/set_length-codegen.fir
    M flang/test/Lower/HLFIR/structure-constructor.f90

  Log Message:
  -----------
  [flang][hlfir] Special handling for temporary LHS in AssignOp.

When `AssignOp` is used with LHS that is a compiler generated temporary
special care must be taken to initialize the temporary and avoid
finalizations of its components. This change-set adds optional
`temporary_lhs` attribute for `AssignOp` to convey this information
to HLFIR-to-FIR conversion pass. Currently, this results in
calling `AssignTemporary` runtime for doing the assignment.

Reviewed By: jeanPerier, tblah

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




More information about the All-commits mailing list