17#ifndef FORTRAN_LOWER_CONVERTEXPR_H
18#define FORTRAN_LOWER_CONVERTEXPR_H
20#include "flang/Lower/Support/Utils.h"
21#include "flang/Optimizer/Builder/BoxValue.h"
22#include "flang/Optimizer/Builder/FIRBuilder.h"
80 const SomeExpr &expr,
SymMap &symMap);
87 fir::ExtendedValue exv,
88 const SomeExpr &expr);
97 const SomeExpr &expr,
SymMap &symMap,
111 const SomeExpr &lhs,
const SomeExpr &rhs,
123 const fir::ExtendedValue &lhs,
124 const SomeExpr &rhs,
SymMap &symMap,
131 const fir::ExtendedValue &lhs,
132 const fir::ExtendedValue &rhs,
SymMap &symMap,
164 const SomeExpr &lhs,
const SomeExpr &rhs,
173 const SomeExpr &lhs,
const SomeExpr &rhs,
186 const llvm::SmallVector<mlir::Value> &lbounds,
187 std::optional<llvm::SmallVector<mlir::Value>> ubounds,
SymMap &symMap,
193 const SomeExpr &expr,
207 const SomeExpr &expr, mlir::Value raggedHeader,
213 const SomeExpr &expr,
SymMap &symMap,
222 const evaluate::ProcedureRef &call,
226 bool isUserDefAssignment);
228mlir::Value addCrayPointerInst(mlir::Location loc, fir::FirOpBuilder &builder,
229 mlir::Value ptrVal, mlir::Type ptrTy,
Definition AbstractConverter.h:85
Definition IterationSpace.h:326
Definition IterationSpace.h:205
Definition StatementContext.h:46
Definition SymbolMap.h:146
Definition ParserActions.h:24
fir::MutableBoxValue createMutableBox(AbstractConverter &converter, mlir::Location loc, const pft::Variable &var, mlir::Value boxAddr, mlir::ValueRange nonDeferredParams, bool alwaysUseBox, unsigned allocator=kDefaultAllocator)
Definition Allocatable.cpp:1093
void createArrayOfPointerAssignment(AbstractConverter &converter, const SomeExpr &lhs, const SomeExpr &rhs, ExplicitIterSpace &explicitIterSpace, ImplicitIterSpace &implicitIterSpace, const llvm::SmallVector< mlir::Value > &lbounds, std::optional< llvm::SmallVector< mlir::Value > > ubounds, SymMap &symMap, StatementContext &stmtCtx)
Definition ConvertExpr.cpp:7463
fir::ExtendedValue createBoxValue(mlir::Location loc, AbstractConverter &converter, const SomeExpr &expr, SymMap &symMap, StatementContext &stmtCtx)
Definition ConvertExpr.cpp:7577
fir::ExtendedValue createInitializerAddress(mlir::Location loc, AbstractConverter &converter, const SomeExpr &expr, SymMap &symMap, StatementContext &stmtCtx)
Definition ConvertExpr.cpp:7397
void createAllocatableArrayAssignment(AbstractConverter &converter, const SomeExpr &lhs, const SomeExpr &rhs, ExplicitIterSpace &explicitIterSpace, ImplicitIterSpace &implicitIterSpace, SymMap &symMap, StatementContext &stmtCtx)
Definition ConvertExpr.cpp:7448
bool isParentComponent(const SomeExpr &expr)
Return true iff the expression is pointing to a parent component.
Definition ConvertExpr.cpp:7523
fir::ExtendedValue createSomeExtendedAddress(mlir::Location loc, AbstractConverter &converter, const SomeExpr &expr, SymMap &symMap, StatementContext &stmtCtx)
Create an extended expression address.
Definition ConvertExpr.cpp:7389
void createLazyArrayTempValue(AbstractConverter &converter, const SomeExpr &expr, mlir::Value raggedHeader, SymMap &symMap, StatementContext &stmtCtx)
Definition ConvertExpr.cpp:7491
fir::ExtendedValue createSomeArrayBox(AbstractConverter &converter, const SomeExpr &expr, SymMap &symMap, StatementContext &stmtCtx)
Definition ConvertExpr.cpp:7501
mlir::Value createSubroutineCall(AbstractConverter &converter, const evaluate::ProcedureRef &call, ExplicitIterSpace &explicitIterSpace, ImplicitIterSpace &implicitIterSpace, SymMap &symMap, StatementContext &stmtCtx, bool isUserDefAssignment)
Definition ConvertExpr.cpp:7598
fir::ExtendedValue createSomeArrayTempValue(AbstractConverter &converter, const SomeExpr &expr, SymMap &symMap, StatementContext &stmtCtx)
Definition ConvertExpr.cpp:7482
void createAnyMaskedArrayAssignment(AbstractConverter &converter, const SomeExpr &lhs, const SomeExpr &rhs, ExplicitIterSpace &explicitIterSpace, ImplicitIterSpace &implicitIterSpace, SymMap &symMap, StatementContext &stmtCtx)
Definition ConvertExpr.cpp:7433
void createSomeArrayAssignment(AbstractConverter &converter, const SomeExpr &lhs, const SomeExpr &rhs, SymMap &symMap, StatementContext &stmtCtx)
Definition ConvertExpr.cpp:7407
fir::ExtendedValue createSomeExtendedExpression(mlir::Location loc, AbstractConverter &converter, const SomeExpr &expr, SymMap &symMap, StatementContext &stmtCtx)
Create an extended expression value.
Definition ConvertExpr.cpp:7371
fir::ExtendedValue updateBoxForParentComponent(AbstractConverter &converter, fir::ExtendedValue exv, const SomeExpr &expr)
Update the extended value to represent the parent component.
Definition ConvertExpr.cpp:7545
fir::ExtendedValue createSomeInitializerExpression(mlir::Location loc, AbstractConverter &converter, const SomeExpr &expr, SymMap &symMap, StatementContext &stmtCtx)
Definition ConvertExpr.cpp:7379
Definition AbstractConverter.h:34
Definition AbstractConverter.h:29