Lines Matching defs:declareOp
294 matchAndRewrite(hlfir::DeclareOp declareOp,
296 mlir::Location loc = declareOp->getLoc();
297 mlir::Value memref = declareOp.getMemref();
300 if (auto attrs = declareOp.getFortranAttrs())
303 if (auto attr = declareOp.getDataAttr())
306 loc, memref.getType(), memref, declareOp.getShape(),
307 declareOp.getTypeparams(), declareOp.getDummyScope(),
308 declareOp.getUniqName(), fortranAttrs, dataAttr);
315 for (const mlir::NamedAttribute &attr : declareOp->getAttrs())
321 mlir::Type hlfirBaseType = declareOp.getBase().getType();
323 fir::FirOpBuilder builder(rewriter, declareOp.getOperation());
335 declareOp.getShape(),
342 typeParams.append(declareOp.getTypeparams().begin(),
343 declareOp.getTypeparams().end());
345 loc, hlfirBaseType, firBase, declareOp.getShape(),
349 if (!mlir::cast<fir::FortranVariableOpInterface>(declareOp.getOperation())
383 assert(declareOp.getTypeparams().size() == 1 &&
386 loc, hlfirBaseType, firBase, declareOp.getTypeparams()[0]);
389 declareOp.emitOpError()
395 rewriter.replaceOp(declareOp, {hlfirBase, firBase});