SSlava Zakharin[flang][hlfir] Support polymorphic hlfir.expr values.
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[flang] Add hlfir.declare operation This operation will be used to declare named variables in HLFIR. See the added description in HLFIROpBase.td for more info about it. The motivation behind this operation is described in https://reviews.llvm.org/D137634. The FortranVariableInterface verifier is changed a bit. It used to operate using the result type to verify the provided shape and length parameters. This is a bit incorrect because what matters to verify the information is the input address (This worked OK with fir.declare where the input memref type is the same as the output result). Also, not all operation defining variables will have an input memref with the same meaning (hlfir.designate and hlfir.associate for instance). Hence, this verifier is now optional and must be provided a memref to operate. Differential Revision: https://reviews.llvm.org/D137781 | 3 年前 | |
[flang][hlfir] Added hlfir.get_length to inquire char length from hlfir.expr. We will use hlfir.get_length to lower inquiries of char length applied to hlfir.expr character values. Reviewed By: tblah, jeanPerier Differential Revision: https://reviews.llvm.org/D154560 | 3 年前 | |
[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 | 3 年前 |