Lines Matching refs:Fortran
28 Fortran::lower::AbstractConverter &converter, in VectorSubscriptBoxBuilder()
29 Fortran::lower::StatementContext &stmtCtx) in VectorSubscriptBoxBuilder()
32 Fortran::lower::VectorSubscriptBox gen(const Fortran::lower::SomeExpr &expr) { in gen()
34 return Fortran::lower::VectorSubscriptBox( in gen()
41 Fortran::lower::VectorSubscriptBox::LoweredVectorSubscript;
42 using LoweredTriplet = Fortran::lower::VectorSubscriptBox::LoweredTriplet;
43 using LoweredSubscript = Fortran::lower::VectorSubscriptBox::LoweredSubscript;
44 using MaybeSubstring = Fortran::lower::VectorSubscriptBox::MaybeSubstring;
53 mlir::Type genDesignator(const Fortran::evaluate::Expr<T> &expr) { in genDesignator()
54 using ExprVariant = decltype(Fortran::evaluate::Expr<T>::u); in genDesignator()
55 using Designator = Fortran::evaluate::Designator<T>; in genDesignator()
56 if constexpr (Fortran::common::HasMember<Designator, ExprVariant>) { in genDesignator()
68 mlir::Type gen(const Fortran::evaluate::DataRef &dataRef) { in gen()
73 mlir::Type gen(const Fortran::evaluate::SymbolRef &symRef) { in gen()
80 mlir::Type gen(const Fortran::evaluate::Substring &substring) { in gen()
84 gen(std::get<Fortran::evaluate::DataRef>(substring.parent())); in gen()
96 mlir::Type gen(const Fortran::evaluate::ComplexPart &complexPart) { in gen()
102 complexPart.part() == Fortran::evaluate::ComplexPart::Part::RE ? 0 : 1); in gen()
107 mlir::Type gen(const Fortran::evaluate::Component &component) { in gen()
109 const Fortran::semantics::Symbol &componentSymbol = in gen()
113 if (componentSymbol.test(Fortran::semantics::Symbol::Flag::ParentComp)) in gen()
128 mlir::Type gen(const Fortran::evaluate::ArrayRef &arrayRef) { in gen()
130 [](const Fortran::evaluate::Subscript &subscript) -> bool { in gen()
132 Fortran::common::visitors{ in gen()
133 [](const Fortran::evaluate::IndirectSubscriptIntegerExpr &expr) { in gen()
136 [&](const Fortran::evaluate::Triplet &) { return true; }}, in gen()
146 for (const Fortran::evaluate::Subscript &subscript : arrayRef.subscript()) { in gen()
148 std::get<Fortran::evaluate::IndirectSubscriptIntegerExpr>( in gen()
159 const Fortran::evaluate::ArrayRef &arrayRef) { in genRankedArrayRefSubscriptAndBase()
161 Fortran::lower::SomeExpr baseExpr = namedEntityToExpr(arrayRef.base()); in genRankedArrayRefSubscriptAndBase()
169 Fortran::common::visitors{ in genRankedArrayRefSubscriptAndBase()
170 [&](const Fortran::evaluate::IndirectSubscriptIntegerExpr &expr) { in genRankedArrayRefSubscriptAndBase()
188 [&](const Fortran::evaluate::Triplet &triplet) { in genRankedArrayRefSubscriptAndBase()
213 mlir::Type gen(const Fortran::evaluate::CoarrayRef &) { in gen()
223 Fortran::evaluate::DataRef
224 namedEntityToDataRef(const Fortran::evaluate::NamedEntity &namedEntity) { in namedEntityToDataRef()
226 return Fortran::evaluate::DataRef{namedEntity.GetFirstSymbol()}; in namedEntityToDataRef()
227 return Fortran::evaluate::DataRef{namedEntity.GetComponent()}; in namedEntityToDataRef()
230 Fortran::lower::SomeExpr
231 namedEntityToExpr(const Fortran::evaluate::NamedEntity &namedEntity) { in namedEntityToExpr()
232 return Fortran::evaluate::AsGenericExpr(namedEntityToDataRef(namedEntity)) in namedEntityToExpr()
236 Fortran::lower::AbstractConverter &converter;
237 Fortran::lower::StatementContext &stmtCtx;
248 Fortran::lower::VectorSubscriptBox Fortran::lower::genVectorSubscriptBox( in genVectorSubscriptBox()
249 mlir::Location loc, Fortran::lower::AbstractConverter &converter, in genVectorSubscriptBox()
250 Fortran::lower::StatementContext &stmtCtx, in genVectorSubscriptBox()
251 const Fortran::lower::SomeExpr &expr) { in genVectorSubscriptBox()
256 mlir::Value Fortran::lower::VectorSubscriptBox::loopOverElementsBase( in loopOverElementsBase()
304 void Fortran::lower::VectorSubscriptBox::loopOverElements( in loopOverElements()
312 mlir::Value Fortran::lower::VectorSubscriptBox::loopOverElementsWhile( in loopOverElementsWhile()
322 Fortran::lower::VectorSubscriptBox::createSlice(fir::FirOpBuilder &builder, in createSlice()
329 std::visit(Fortran::common::visitors{ in createSlice()
351 Fortran::lower::VectorSubscriptBox::genLoopBounds(fir::FirOpBuilder &builder, in genLoopBounds()
384 fir::ExtendedValue Fortran::lower::VectorSubscriptBox::getElementAt( in getElementAt()
392 std::visit(Fortran::common::visitors{ in getElementAt()