[flang-commits] [flang] [flang] Move whole allocatable assignment implicit conversion to lowering (PR #70317)
Pete Steinfeld via flang-commits
flang-commits at lists.llvm.org
Thu Oct 26 06:55:19 PDT 2023
================
@@ -3372,47 +3372,25 @@ class FirConverter : public Fortran::lower::AbstractConverter {
}
}
- /// Given converted LHS and RHS of the assignment, generate
- /// explicit type conversion for implicit Logical<->Integer
- /// conversion. Return Value representing the converted RHS,
- /// if the implicit Logical<->Integer is detected, otherwise,
- /// return nullptr. The caller is responsible for inserting
- /// DestroyOp in case the returned value has hlfir::ExprType.
- mlir::Value
- genImplicitLogicalConvert(const Fortran::evaluate::Assignment &assign,
- hlfir::Entity rhs,
- Fortran::lower::StatementContext &stmtCtx) {
- mlir::Type fromTy = rhs.getFortranElementType();
- if (!fromTy.isa<mlir::IntegerType, fir::LogicalType>())
- return nullptr;
-
- mlir::Type toTy = hlfir::getFortranElementType(genType(assign.lhs));
- if (fromTy == toTy)
- return nullptr;
- if (!toTy.isa<mlir::IntegerType, fir::LogicalType>())
- return nullptr;
-
+ /// Given converted LHS and RHS of the assignment, materialize any
+ /// implicit conversion of the RHS to the LHS type. The front-end
+ /// usually already makes those explicit, except for none-standard
----------------
psteinfeld wrote:
"none-standard" should read "non-standard"
https://github.com/llvm/llvm-project/pull/70317
More information about the flang-commits
mailing list