Lines Matching defs:lower
59 // strategy.startImpliedDo(lower, upper, stride);
61 // // lower nested values
83 StrategyBase(Fortran::lower::StatementContext &stmtCtx,
84 Fortran::lower::SymMap &symMap)
100 Fortran::lower::StatementContext &stmtCtx;
101 Fortran::lower::SymMap &symMap;
104 /// Class that implements the "inlined temp strategy" to lower array
118 Fortran::lower::StatementContext &stmtCtx,
119 Fortran::lower::SymMap &symMap,
136 mlir::Value lower, mlir::Value upper,
140 auto loop = builder.create<fir::DoLoopOp>(loc, lower, upper, stride,
168 /// It will lower [(scalar_expr(i), i=l,u,s)] to:
192 Fortran::lower::StatementContext &stmtCtx,
193 Fortran::lower::SymMap &symMap,
209 /// given the lower bound and stride (compute "%i" in the illustration above).
211 mlir::Value lower, mlir::Value upper,
220 // implied-do-index = lower+((i-1)*stride)
224 mlir::Value add = builder.create<mlir::arith::AddIOp>(loc, lower, mul);
283 /// Class that implements the "runtime temp strategy" to lower array
301 Fortran::lower::StatementContext &stmtCtx,
302 Fortran::lower::SymMap &symMap,
390 mlir::Value lower, mlir::Value upper,
392 auto loop = builder.create<fir::DoLoopOp>(loc, lower, upper, stride,
445 mlir::Value lower, mlir::Value upper,
449 return impl.startImpliedDo(loc, builder, lower, upper, stride);
488 /// Helper to lower a scalar extent expression (like implied-do bounds).
490 Fortran::lower::AbstractConverter &converter,
491 Fortran::lower::SymMap &symMap,
492 Fortran::lower::StatementContext &stmtCtx,
496 hlfir::Entity value = Fortran::lower::convertExprToHLFIR(
503 /// Helper class to lower the array constructor type and its length parameters.
509 Fortran::lower::AbstractConverter &converter,
511 Fortran::lower::SymMap &,
512 Fortran::lower::StatementContext &,
515 return Fortran::lower::getFIRType(&converter.getMLIRContext(), T::category,
523 mlir::Location loc, Fortran::lower::AbstractConverter &converter,
526 Fortran::lower::SymMap &symMap, Fortran::lower::StatementContext &stmtCtx,
530 return Fortran::lower::translateDerivedTypeToFIRType(
541 mlir::Location loc, Fortran::lower::AbstractConverter &converter,
543 Fortran::lower::SymMap &symMap, Fortran::lower::StatementContext &stmtCtx,
545 llvm::SmallVector<Fortran::lower::LenParameterTy> typeLengths;
553 return Fortran::lower::getFIRType(&converter.getMLIRContext(),
561 /// LengthAndTypeCollector::collect could not lower because this requires
664 mlir::Location loc, Fortran::lower::AbstractConverter &converter,
666 Fortran::lower::SymMap &symMap, Fortran::lower::StatementContext &stmtCtx) {
730 Fortran::lower::AbstractConverter &converter,
732 Fortran::lower::SymMap &symMap,
733 Fortran::lower::StatementContext &stmtCtx,
737 hlfir::Entity value = Fortran::lower::convertExprToHLFIR(
747 Fortran::lower::AbstractConverter &converter,
749 Fortran::lower::SymMap &symMap,
750 Fortran::lower::StatementContext &stmtCtx,
756 mlir::Value lower = lowerIndex(impledDo.lower());
762 arrayBuilder.startImpliedDo(loc, builder, lower, upper, stride);
779 hlfir::EntityWithAttributes Fortran::lower::ArrayConstructorBuilder<T>::gen(
780 mlir::Location loc, Fortran::lower::AbstractConverter &converter,
782 Fortran::lower::SymMap &symMap, Fortran::lower::StatementContext &stmtCtx) {
804 FOR_EACH_SPECIFIC_TYPE(template class Fortran::lower::ArrayConstructorBuilder, )