Lines Matching refs:xbox
1465 getSubcomponentIndices(BOX xbox, mlir::Value memref,
1473 TODO(xbox.getLoc(),
1475 indices.append(operands.begin() + xbox.subcomponentOffset(),
1476 operands.begin() + xbox.subcomponentOffset() +
1477 xbox.subcomponent().size());
1540 matchAndRewrite(fir::cg::XEmboxOp xbox, OpAdaptor adaptor,
1544 consDescriptorPrefix(xbox, rewriter, xbox.getOutRank(),
1545 operands.drop_front(xbox.lenParamOffset()));
1547 auto i64Ty = mlir::IntegerType::get(xbox.getContext(), 64);
1549 assert(!xbox.shape().empty() && "must have a shape");
1550 unsigned shapeOffset = xbox.shapeOffset();
1551 bool hasShift = !xbox.shift().empty();
1552 unsigned shiftOffset = xbox.shiftOffset();
1553 bool hasSlice = !xbox.slice().empty();
1554 unsigned sliceOffset = xbox.sliceOffset();
1555 mlir::Location loc = xbox.getLoc();
1560 const unsigned rank = xbox.getRank();
1564 mlir::Type memEleTy = fir::dyn_cast_ptrEleTy(xbox.memref().getType());
1571 assert(xbox.lenParams().size() == 1);
1575 integerCast(loc, rewriter, i64Ty, operands[xbox.lenParamOffset()]);
1589 const auto hasSubcomp = !xbox.subcomponent().empty();
1590 const bool hasSubstr = !xbox.substr().empty();
1634 xbox.slice()[3 * di + 1].getDefiningOp())) {
1653 if (isaPointerOrAllocatable || !normalizedLowerBound(xbox))
1659 (isaPointerOrAllocatable || !normalizedLowerBound(xbox))) {
1700 getSubcomponentIndices(xbox, xbox.memref(), operands, fieldIndices);
1702 substringOffset = operands[xbox.substrOffset()];
1711 rewriter.replaceOp(xbox, result);
1715 /// Return true if `xbox` has a normalized lower bounds attribute. A box value
1718 inline static bool normalizedLowerBound(fir::cg::XEmboxOp xbox) {
1719 return xbox->hasAttr(fir::getNormalizedLowerBoundAttrName());