[all-commits] [llvm/llvm-project] c0b45f: [flang] Lower elemental and transformational clean...
jeanPerier via All-commits
all-commits at lists.llvm.org
Tue Jan 17 02:45:16 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: c0b45fef155fbe3f17f9a6f99074682c69545488
https://github.com/llvm/llvm-project/commit/c0b45fef155fbe3f17f9a6f99074682c69545488
Author: Jean Perier <jperier at nvidia.com>
Date: 2023-01-17 (Tue, 17 Jan 2023)
Changed paths:
M flang/include/flang/Lower/IntrinsicCall.h
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/IntrinsicCall.cpp
M flang/test/HLFIR/destroy-codegen.fir
M flang/test/Lower/HLFIR/elemental-array-ops.f90
M flang/test/Lower/HLFIR/elemental-intrinsics.f90
M flang/test/Lower/HLFIR/elemental-user-procedure-ref.f90
A flang/test/Lower/HLFIR/transformational.f90
M flang/test/Lower/Intrinsics/transfer.f90
M flang/test/Lower/Intrinsics/verify.f90
Log Message:
-----------
[flang] Lower elemental and transformational clean-up in HLFIR
In lowering to hlfir, no clean-up was added yet for
the created hlfir.elemental. Add the needed hlfir.destroy.
Regarding transformational lowering, clean-ups were created because
they are lowered in memory, but this is inconvenient because this
prevented lowering to hlfir from "moving" the created variable to
an expression. Add a new entry point in IntrinsicCall.h that keeps
track of whether or not the returned storage needs to be deallocated,
but does not insert the deallocation in the StatementContext.
This allows using the newly added hlfir.as_expr "move" aspect to be
used and save creating a copy.
Depends on D141839
Reviewed By: clementval
Differential Revision: https://reviews.llvm.org/D141841
More information about the All-commits
mailing list