Lines Matching defs:lbounds
816 /*lbounds=*/std::nullopt,
822 *builder, loc, *new_box, box.getMutableProperties().lbounds,
1719 // as well. If the result box has proper lbounds in runtime,
1725 llvm::SmallVector<mlir::Value> lbounds{rank, one};
1728 builder->create<fir::ShiftOp>(loc, shiftTy, lbounds);
4048 /// lbounds and \p ubounds parameters should only be used in such a pointer
4054 std::optional<llvm::SmallVector<mlir::Value>> lbounds = std::nullopt,
4071 if (lbounds) {
4078 *lbounds, ubounds, localSymbols, stmtCtx);
4123 mlir::Value createLboundArray(llvm::ArrayRef<mlir::Value> lbounds,
4127 {static_cast<int64_t>(lbounds.size())}, builder->getI64Type());
4130 for (unsigned i = 0; i < lbounds.size(); ++i) {
4132 loc, boundArrayTy, array, lbounds[i],
4139 builder->createIntegerConstant(loc, indexTy, lbounds.size());
4182 llvm::SmallVector<mlir::Value> lbounds;
4184 lbounds.push_back(
4194 if (!lbounds.empty()) {
4195 mlir::Value boundsDesc = createLboundArray(lbounds, loc);
4204 llvm::SmallVector<mlir::Value> lbounds;
4206 lbounds.push_back(fir::getBase(genExprValue(toEvExpr(lbExpr), stmtCtx)));
4210 genArrayAssignment(assign, stmtCtx, lbounds);
4214 Fortran::lower::associateMutableBox(*this, loc, lhs, assign.rhs, lbounds,
4220 mlir::Value createBoundArray(llvm::ArrayRef<mlir::Value> lbounds,
4223 assert(lbounds.size() && ubounds.size());
4226 {2, static_cast<int64_t>(lbounds.size())}, builder->getI64Type());
4229 for (unsigned i = 0; i < lbounds.size(); ++i) {
4231 loc, boundArrayTy, array, lbounds[i],
4246 builder->createIntegerConstant(loc, indexTy, lbounds.size());
4259 llvm::SmallVector<mlir::Value> lbounds;
4265 lbounds.push_back(fir::getBase(genExprValue(toEvExpr(lbExpr), stmtCtx)));
4287 mlir::Value boundsDesc = createBoundArray(lbounds, ubounds, loc);
4295 genArrayAssignment(assign, stmtCtx, lbounds, ubounds);
4307 lbounds, ubounds);
4317 fir::factory::associateMutableBoxWithRemap(*builder, loc, lhs, rhs, lbounds,
4848 /*lbounds=*/std::nullopt,