Lines Matching defs:exv

226                   const fir::ExtendedValue &exv, llvm::StringRef name,
230 mlir::Value base = fir::getBase(exv);
235 exv.match(
240 shapeOrShift = builder.createShape(loc, exv);
243 shapeOrShift = builder.createShape(loc, exv);
248 shapeOrShift = builder.createShape(loc, exv);
425 auto [exv, cleanup] = translateToExtendedValue(loc, builder, entity);
427 if (const auto *mutableBox = exv.getBoxOf<fir::MutableBoxValue>())
428 exv = fir::factory::genMutableBoxRead(builder, loc, *mutableBox);
432 for (unsigned dim = 0; dim < exv.rank(); ++dim) {
433 mlir::Value extent = fir::factory::readExtent(builder, loc, exv, dim);
434 mlir::Value lb = fir::factory::readLowerBound(builder, loc, exv, dim, one);
687 // Return a "shape" that can be used in fir.embox/fir.rebox with \p exv base.
689 const fir::ExtendedValue &exv,
697 if (mlir::isa<fir::BaseBoxType>(fir::getBase(exv).getType()) &&
699 return builder.createShape(loc, exv);
706 auto [exv, cleanup] = translateToExtendedValue(loc, builder, entity);
709 auto params = fir::getTypeParams(exv);
713 return {fir::getBase(exv), mlir::Value{}};
715 return {fir::getBase(exv),
716 asEmboxShape(loc, builder, exv, variableInterface.getShape())};
717 return {fir::getBase(exv), builder.createShape(loc, exv)};
1097 auto [exv, cleanup] = translateToExtendedValue(loc, builder, entity);
1101 return {exv, cleanup};
1102 mlir::Value base = fir::getBase(exv);
1104 exv = placeTrivialInMemory(loc, builder, base, targetType);
1105 fir::BoxValue box = fir::factory::createBoxValue(builder, loc, exv);
1114 auto [exv, cleanup] =
1116 mlir::Value base = fir::getBase(exv);
1118 exv = placeTrivialInMemory(loc, builder, base, targetType);
1119 return {exv, cleanup};