Lines Matching defs:extents
29 mlir::ValueRange lbounds, mlir::ValueRange extents,
36 if (!extents.empty()) {
38 shape = builder.create<fir::ShapeOp>(loc, extents);
41 for (auto [lb, extent] : llvm::zip(lbounds, extents)) {
46 fir::ShapeShiftType::get(builder.getContext(), extents.size());
91 /// extents, lower bounds, length parameters) are represented.
132 auto ext = builder.create<fir::LoadOp>(loc, mutableProperties.extents[dim]);
150 /// Read and return all extents. If \p lbounds vector is provided, lbounds are
154 llvm::SmallVector<mlir::Value> extents;
160 extents.push_back(extent);
162 return extents;
167 llvm::SmallVectorImpl<mlir::Value> &extents,
169 extents = readShape(&lbounds);
211 mlir::ValueRange extents, mlir::ValueRange lengths,
214 updateMutableProperties(addr, lbounds, extents, lengths);
216 updateIRBox(addr, lbounds, extents, lengths, tdesc);
256 llvm::SmallVector<mlir::Value> extents;
260 lbounds, extents, lengths);
261 updateMutableProperties(addr, lbounds, extents, lengths);
269 llvm::SmallVector<mlir::Value> extents;
271 auto addr = MutablePropertyReader{builder, loc, box}.read(lbounds, extents,
273 updateIRBox(addr, lbounds, extents, lengths);
279 mlir::ValueRange extents, mlir::ValueRange lengths,
283 extents, lengths, tdesc);
289 mlir::ValueRange extents,
299 llvm::zip(extents, mutableProperties.extents))
360 llvm::SmallVector<mlir::Value> extents(seqTy.getDimension(), zero);
362 loc, fir::ArrayBoxValue{nullAddr, extents, /*lbounds=*/std::nullopt});
435 llvm::SmallVector<mlir::Value> extents;
447 MutablePropertyReader(builder, loc, box).read(lbounds, extents, lengths);
454 return fir::CharArrayBoxValue{addr, len, extents, lbounds};
461 return fir::ArrayBoxValue{addr, extents, lbounds, sourceBox};
522 /*extents=*/std::nullopt,
527 /*extents=*/std::nullopt,
532 /*extents=*/std::nullopt, {ch.getLen()});
562 auto extents = fir::factory::getExtents(loc, builder, source);
570 writer.updateMutableBox(rawAddr, newLbounds, extents, lenParams);
600 // Compute new extents
601 llvm::SmallVector<mlir::Value> extents;
609 extents.emplace_back(
613 // lbounds are default. Upper bounds and extents are the same.
616 extents.emplace_back(cast);
619 const auto newRank = extents.size();
633 writer.updateMutableBox(cast(p.getAddr()), lbounds, extents,
637 writer.updateMutableBox(cast(addr), lbounds, extents,
641 writer.updateMutableBox(cast(ch.getAddr()), lbounds, extents,
645 writer.updateMutableBox(cast(arr.getAddr()), lbounds, extents,
649 writer.updateMutableBox(cast(arr.getAddr()), lbounds, extents,
666 writer.updateMutableBox(rawAddr, lbounds, extents, lenParams);
669 fir::ShapeShiftType::get(builder.getContext(), extents.size());
672 for (auto [lbnd, ext] : llvm::zip(lbounds, extents)) {
744 mlir::ValueRange extents,
749 loc, box.getBaseTy(), allocName, lengths, extents);
756 std::nullopt, extents, lengths);
765 mlir::ValueRange extents, mlir::ValueRange lenParams,
769 for (mlir::Value extent : extents)
809 mlir::SmallVector<mlir::Value> extents;
812 extents = reader.readShape();
814 extents.append(shape.begin(), shape.end());
820 return fir::CharArrayBoxValue{newAddr, len, extents};
826 return fir::ArrayBoxValue{newAddr, extents};
870 auto extents =
875 builder, loc, box, extents, lengthParams,
941 auto extents = fir::factory::getExtents(loc, builder, realloc.newValue);
946 heap, lbs, extents, lengths);