[all-commits] [llvm/llvm-project] daa873: [flang][hlfir] Support polymorphic hlfir.expr values.
Slava Zakharin via All-commits
all-commits at lists.llvm.org
Tue Jul 18 09:00:52 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: daa8734233e781efe3ee92c5b6687f409c1fa7b2
https://github.com/llvm/llvm-project/commit/daa8734233e781efe3ee92c5b6687f409c1fa7b2
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2023-07-18 (Tue, 18 Jul 2023)
Changed paths:
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Builder/Runtime/Allocatable.h
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
A flang/test/HLFIR/bufferize-poly-expr.fir
A flang/test/Lower/HLFIR/polymorphic-expressions.f90
Log Message:
-----------
[flang][hlfir] Support polymorphic hlfir.expr values.
This patch sets 'polymorphic' attribute of hlfir::ExprType when
the value is created from a polymorphic entity.
Memoization of such ExprType involves creating a mutable descriptor
on the stack, which is initialized (as a null box) and passed to
AllocatableApplyMold with the mold being the entity from which
the ExprType value is being created.
This patch fixes "creating polymorphic temporary" TODO and also
several cases of "'fir.convert' op invalid type conversion" error.
Reviewed By: tblah
Differential Revision: https://reviews.llvm.org/D155541
More information about the All-commits
mailing list