Lines Matching defs:designate

407       hlfir::DesignateOp designate, mlir::Type baseEleTy, mlir::Value base,
410 assert(!designate.getIndices().empty());
412 auto indices = designate.getIndices();
414 auto attrs = designate.getIsTripletAttr();
433 matchAndRewrite(hlfir::DesignateOp designate,
435 mlir::Location loc = designate.getLoc();
436 fir::FirOpBuilder builder(rewriter, designate.getOperation());
438 hlfir::Entity baseEntity(designate.getMemref());
441 TODO(loc, "hlfir::designate load of pointer or allocatable");
443 mlir::Type designateResultType = designate.getResult().getType();
451 if (designate.getComponent()) {
454 TODO(loc, "hlfir.designate with a parametrized derived type base");
457 designate.getComponent().value(), baseRecordType,
466 designate.getComponent().value());
471 designate.getOperation());
474 rewriter.replaceOp(designate, base);
481 shape = designate.getComponentShape();
498 base = genSubscriptBeginAddr(builder, loc, designate, baseEleTy, base,
508 auto subscripts = designate.getIndices();
520 loc, builder, designate.getComponentShape(), subscripts.size());
532 for (auto isTriplet : designate.getIsTriplet()) {
544 if (!designate.getSubstring().empty()) {
545 substring.push_back(designate.getSubstring()[0]);
552 substring.push_back(designate.getTypeparams()[0]);
554 if (designate.getComplexPart()) {
558 loc, idxTy, *designate.getComplexPart()));
575 rewriter.replaceOp(designate, resultBox);
588 if (!designate.getIndices().empty()) {
593 base = genSubscriptBeginAddr(builder, loc, designate, baseEleTy, base,
599 if (!designate.getSubstring().empty())
601 base, designate.getSubstring()[0], resultAddressType);
604 if (designate.getComplexPart()) {
608 *designate.getComplexPart());
615 assert(designate.getTypeparams().size() == 1 &&
618 loc, designateResultType, base, designate.getTypeparams()[0]);
619 rewriter.replaceOp(designate, emboxChar.getResult());
622 rewriter.replaceOp(designate, base);