@@ -856,7 +856,7 @@ static bool getAdjustedExtents(mlir::Location loc,
856856 auto idxTy = rewriter.getIndexType ();
857857 if (isAssumedSize (result)) {
858858 // Use slice information to compute the extent of the column.
859- auto one = rewriter. create < mlir::arith::ConstantIndexOp>( loc, 1 );
859+ auto one = mlir::arith::ConstantIndexOp::create (rewriter, loc, 1 );
860860 mlir::Value size = one;
861861 if (mlir::Value sliceArg = arrLoad.getSlice ()) {
862862 if (auto sliceOp =
@@ -896,14 +896,14 @@ static mlir::Value getOrReadExtentsAndShapeOp(
896896 mlir::cast<SequenceType>(dyn_cast_ptrOrBoxEleTy (boxTy)).getDimension ();
897897 auto idxTy = rewriter.getIndexType ();
898898 for (decltype (rank) dim = 0 ; dim < rank; ++dim) {
899- auto dimVal = rewriter. create < mlir::arith::ConstantIndexOp>( loc, dim);
900- auto dimInfo = rewriter. create < BoxDimsOp>( loc, idxTy, idxTy, idxTy,
901- arrLoad.getMemref (), dimVal);
899+ auto dimVal = mlir::arith::ConstantIndexOp::create (rewriter, loc, dim);
900+ auto dimInfo = BoxDimsOp::create (rewriter, loc, idxTy, idxTy, idxTy,
901+ arrLoad.getMemref (), dimVal);
902902 result.emplace_back (dimInfo.getResult (1 ));
903903 }
904904 if (!arrLoad.getShape ()) {
905905 auto shapeType = ShapeType::get (rewriter.getContext (), rank);
906- return rewriter. create < ShapeOp>( loc, shapeType, result);
906+ return ShapeOp::create (rewriter, loc, shapeType, result);
907907 }
908908 auto shiftOp = arrLoad.getShape ().getDefiningOp <ShiftOp>();
909909 auto shapeShiftType = ShapeShiftType::get (rewriter.getContext (), rank);
@@ -912,8 +912,8 @@ static mlir::Value getOrReadExtentsAndShapeOp(
912912 shapeShiftOperands.push_back (lb);
913913 shapeShiftOperands.push_back (extent);
914914 }
915- return rewriter. create < ShapeShiftOp>( loc, shapeShiftType,
916- shapeShiftOperands);
915+ return ShapeShiftOp::create (rewriter, loc, shapeShiftType,
916+ shapeShiftOperands);
917917 }
918918 copyUsingSlice =
919919 getAdjustedExtents (loc, rewriter, arrLoad, result, arrLoad.getShape ());
@@ -952,13 +952,13 @@ static mlir::Value genCoorOp(mlir::PatternRewriter &rewriter,
952952 auto module = load->getParentOfType <mlir::ModuleOp>();
953953 FirOpBuilder builder (rewriter, module );
954954 auto typeparams = getTypeParamsIfRawData (loc, builder, load, alloc.getType ());
955- mlir::Value result = rewriter. create < ArrayCoorOp> (
956- loc, eleTy, alloc, shape, slice,
955+ mlir::Value result = ArrayCoorOp::create (
956+ rewriter, loc, eleTy, alloc, shape, slice,
957957 llvm::ArrayRef<mlir::Value>{originated}.take_front (dimension),
958958 typeparams);
959959 if (dimension < originated.size ())
960- result = rewriter. create < fir::CoordinateOp> (
961- loc, resTy, result,
960+ result = fir::CoordinateOp::create (
961+ rewriter, loc, resTy, result,
962962 llvm::ArrayRef<mlir::Value>{originated}.drop_front (dimension));
963963 return result;
964964}
@@ -971,13 +971,13 @@ static mlir::Value getCharacterLen(mlir::Location loc, FirOpBuilder &builder,
971971 // The loaded array is an emboxed value. Get the CHARACTER length from
972972 // the box value.
973973 auto eleSzInBytes =
974- builder. create < BoxEleSizeOp>( loc, charLenTy, load.getMemref ());
974+ BoxEleSizeOp::create (builder, loc, charLenTy, load.getMemref ());
975975 auto kindSize =
976976 builder.getKindMap ().getCharacterBitsize (charTy.getFKind ());
977977 auto kindByteSize =
978978 builder.createIntegerConstant (loc, charLenTy, kindSize / 8 );
979- return builder. create < mlir::arith::DivSIOp>( loc, eleSzInBytes,
980- kindByteSize);
979+ return mlir::arith::DivSIOp::create (builder, loc, eleSzInBytes,
980+ kindByteSize);
981981 }
982982 // The loaded array is a (set of) unboxed values. If the CHARACTER's
983983 // length is not a constant, it must be provided as a type parameter to
@@ -1003,25 +1003,25 @@ void genArrayCopy(mlir::Location loc, mlir::PatternRewriter &rewriter,
10031003 auto idxTy = rewriter.getIndexType ();
10041004 // Build loop nest from column to row.
10051005 for (auto sh : llvm::reverse (extents)) {
1006- auto ubi = rewriter. create < ConvertOp>( loc, idxTy, sh);
1007- auto zero = rewriter. create < mlir::arith::ConstantIndexOp>( loc, 0 );
1008- auto one = rewriter. create < mlir::arith::ConstantIndexOp>( loc, 1 );
1009- auto ub = rewriter. create < mlir::arith::SubIOp>( loc, idxTy, ubi, one);
1010- auto loop = rewriter. create < DoLoopOp>( loc, zero, ub, one);
1006+ auto ubi = ConvertOp::create (rewriter, loc, idxTy, sh);
1007+ auto zero = mlir::arith::ConstantIndexOp::create (rewriter, loc, 0 );
1008+ auto one = mlir::arith::ConstantIndexOp::create (rewriter, loc, 1 );
1009+ auto ub = mlir::arith::SubIOp::create (rewriter, loc, idxTy, ubi, one);
1010+ auto loop = DoLoopOp::create (rewriter, loc, zero, ub, one);
10111011 rewriter.setInsertionPointToStart (loop.getBody ());
10121012 indices.push_back (loop.getInductionVar ());
10131013 }
10141014 // Reverse the indices so they are in column-major order.
10151015 std::reverse (indices.begin (), indices.end ());
10161016 auto module = arrLoad->getParentOfType <mlir::ModuleOp>();
10171017 FirOpBuilder builder (rewriter, module );
1018- auto fromAddr = rewriter. create < ArrayCoorOp> (
1019- loc, getEleTy (src.getType ()), src, shapeOp,
1018+ auto fromAddr = ArrayCoorOp::create (
1019+ rewriter, loc, getEleTy (src.getType ()), src, shapeOp,
10201020 CopyIn && copyUsingSlice ? sliceOp : mlir::Value{},
10211021 factory::originateIndices (loc, rewriter, src.getType (), shapeOp, indices),
10221022 getTypeParamsIfRawData (loc, builder, arrLoad, src.getType ()));
1023- auto toAddr = rewriter. create < ArrayCoorOp> (
1024- loc, getEleTy (dst.getType ()), dst, shapeOp,
1023+ auto toAddr = ArrayCoorOp::create (
1024+ rewriter, loc, getEleTy (dst.getType ()), dst, shapeOp,
10251025 !CopyIn && copyUsingSlice ? sliceOp : mlir::Value{},
10261026 factory::originateIndices (loc, rewriter, dst.getType (), shapeOp, indices),
10271027 getTypeParamsIfRawData (loc, builder, arrLoad, dst.getType ()));
@@ -1093,15 +1093,16 @@ allocateArrayTemp(mlir::Location loc, mlir::PatternRewriter &rewriter,
10931093 findNonconstantExtents (baseType, extents);
10941094 llvm::SmallVector<mlir::Value> typeParams =
10951095 genArrayLoadTypeParameters (loc, rewriter, load);
1096- mlir::Value allocmem = rewriter.create <AllocMemOp>(
1097- loc, dyn_cast_ptrOrBoxEleTy (baseType), typeParams, nonconstantExtents);
1096+ mlir::Value allocmem =
1097+ AllocMemOp::create (rewriter, loc, dyn_cast_ptrOrBoxEleTy (baseType),
1098+ typeParams, nonconstantExtents);
10981099 mlir::Type eleType =
10991100 fir::unwrapSequenceType (fir::unwrapPassByRefType (baseType));
11001101 if (fir::isRecordWithAllocatableMember (eleType)) {
11011102 // The allocatable component descriptors need to be set to a clean
11021103 // deallocated status before anything is done with them.
1103- mlir::Value box = rewriter. create < fir::EmboxOp> (
1104- loc, fir::BoxType::get (allocmem.getType ()), allocmem, shape,
1104+ mlir::Value box = fir::EmboxOp::create (
1105+ rewriter, loc, fir::BoxType::get (allocmem.getType ()), allocmem, shape,
11051106 /* slice=*/ mlir::Value{}, typeParams);
11061107 auto module = load->getParentOfType <mlir::ModuleOp>();
11071108 FirOpBuilder builder (rewriter, module );
@@ -1111,12 +1112,12 @@ allocateArrayTemp(mlir::Location loc, mlir::PatternRewriter &rewriter,
11111112 auto cleanup = [=](mlir::PatternRewriter &r) {
11121113 FirOpBuilder builder (r, module );
11131114 runtime::genDerivedTypeDestroy (builder, loc, box);
1114- r. create < FreeMemOp>( loc, allocmem);
1115+ FreeMemOp::create (r, loc, allocmem);
11151116 };
11161117 return {allocmem, cleanup};
11171118 }
11181119 auto cleanup = [=](mlir::PatternRewriter &r) {
1119- r. create < FreeMemOp>( loc, allocmem);
1120+ FreeMemOp::create (r, loc, allocmem);
11201121 };
11211122 return {allocmem, cleanup};
11221123}
@@ -1257,7 +1258,7 @@ class ArrayUpdateConversion : public ArrayUpdateConversionBase<ArrayUpdateOp> {
12571258 if (auto inEleTy = dyn_cast_ptrEleTy (input.getType ())) {
12581259 emitFatalError (loc, " array_update on references not supported" );
12591260 } else {
1260- rewriter. create < fir::StoreOp>( loc, input, coor);
1261+ fir::StoreOp::create (rewriter, loc, input, coor);
12611262 }
12621263 };
12631264 auto lhsEltRefType = toRefType (update.getMerge ().getType ());
@@ -1368,7 +1369,7 @@ class ArrayAmendConversion : public mlir::OpRewritePattern<ArrayAmendOp> {
13681369 auto *op = amend.getOperation ();
13691370 rewriter.setInsertionPoint (op);
13701371 auto loc = amend.getLoc ();
1371- auto undef = rewriter. create < UndefOp>( loc, amend.getType ());
1372+ auto undef = UndefOp::create (rewriter, loc, amend.getType ());
13721373 rewriter.replaceOp (amend, undef.getResult ());
13731374 return mlir::success ();
13741375 }
0 commit comments