[Mlir-commits] [mlir] fcbcfe4 - [mlir][NFC] update `mlir/Dialect` create APIs (32/n) (#150657)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Fri Jul 25 11:50:18 PDT 2025
Author: Maksim Levental
Date: 2025-07-25T13:50:15-05:00
New Revision: fcbcfe44cff00101a6a98a73971398eb8dd87710
URL: https://github.com/llvm/llvm-project/commit/fcbcfe44cff00101a6a98a73971398eb8dd87710
DIFF: https://github.com/llvm/llvm-project/commit/fcbcfe44cff00101a6a98a73971398eb8dd87710.diff
LOG: [mlir][NFC] update `mlir/Dialect` create APIs (32/n) (#150657)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Added:
Modified:
mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
mlir/lib/Dialect/Linalg/Transforms/PackAndUnpackPatterns.cpp
mlir/lib/Dialect/Linalg/Transforms/Padding.cpp
mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
mlir/lib/Dialect/Linalg/Transforms/TransposeConv2D.cpp
mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
mlir/lib/Dialect/Vector/IR/VectorOps.cpp
mlir/lib/Dialect/Vector/Transforms/LowerVectorGather.cpp
mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
Removed:
################################################################################
diff --git a/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp b/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
index 4fee81aa2ef67..27b661781f10f 100644
--- a/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
+++ b/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
@@ -791,9 +791,8 @@ struct FoldFillWithPad final : public OpRewritePattern<tensor::PadOp> {
tensor::EmptyOp::create(rewriter, padOp.getLoc(), reifiedShape.front(),
padOp.getResultType().getElementType());
Value replacement =
- rewriter
- .create<FillOp>(fillOp.getLoc(), ValueRange{padValue},
- ValueRange{emptyTensor})
+ FillOp::create(rewriter, fillOp.getLoc(), ValueRange{padValue},
+ ValueRange{emptyTensor})
.getResult(0);
if (replacement.getType() != padOp.getResultType()) {
replacement = tensor::CastOp::create(rewriter, fillOp.getLoc(),
@@ -2154,9 +2153,8 @@ struct SwapTransposeWithBroadcast : OpRewritePattern<linalg::TransposeOp> {
// Create broadcast(transpose(input)).
Value transposeResult =
- rewriter
- .create<TransposeOp>(loc, broadcastOp.getInput(), transposeInit,
- resultPerms)
+ TransposeOp::create(rewriter, loc, broadcastOp.getInput(),
+ transposeInit, resultPerms)
->getResult(0);
rewriter.replaceOpWithNewOp<BroadcastOp>(
transposeOp, transposeResult, transposeOp.getInit(), resultDimensions);
diff --git a/mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp b/mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
index bb0861340ad92..bdfc8d020e58f 100644
--- a/mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
+++ b/mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
@@ -4133,9 +4133,8 @@ DiagnosedSilenceableFailure doit(RewriterBase &rewriter, OpTy target,
Value extracted = tensor::ExtractSliceOp::create(
rewriter, target.getLoc(), target.getDest(), target.getMixedOffsets(),
target.getMixedSizes(), target.getMixedStrides());
- Value copied = rewriter
- .create<linalg::CopyOp>(target.getLoc(),
- target.getSource(), extracted)
+ Value copied = linalg::CopyOp::create(rewriter, target.getLoc(),
+ target.getSource(), extracted)
.getResult(0);
// Reset the insertion point.
rewriter.setInsertionPoint(target);
diff --git a/mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp b/mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
index 91a297f7b9db7..0a9c1766425bd 100644
--- a/mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
+++ b/mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
@@ -1143,10 +1143,9 @@ pushDownUnPackOpThroughGenericOp(RewriterBase &rewriter, GenericOp genericOp,
// Insert an unPackOp right after the packed generic.
Value unPackOpRes =
- rewriter
- .create<linalg::UnPackOp>(genericOp.getLoc(), newResult,
- destPack.getSource(), innerDimsPos,
- mixedTiles, outerDimsPerm)
+ linalg::UnPackOp::create(rewriter, genericOp.getLoc(), newResult,
+ destPack.getSource(), innerDimsPos, mixedTiles,
+ outerDimsPerm)
.getResult();
return std::make_tuple(newGenericOp, unPackOpRes);
diff --git a/mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp b/mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
index 745a40dbc4eea..7f9ba1bdd2692 100644
--- a/mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
+++ b/mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
@@ -267,8 +267,8 @@ expandValue(RewriterBase &rewriter, Location loc, Value result, Value origDest,
assert(rankReductionStrategy ==
ControlDropUnitDims::RankReductionStrategy::ReassociativeReshape &&
"unknown rank reduction strategy");
- return rewriter
- .create<tensor::ExpandShapeOp>(loc, origResultType, result, reassociation)
+ return tensor::ExpandShapeOp::create(rewriter, loc, origResultType, result,
+ reassociation)
.getResult();
}
diff --git a/mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp b/mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
index 4a66b8b9619f4..3bd763ea00cd7 100644
--- a/mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
+++ b/mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
@@ -1572,12 +1572,12 @@ static Value getCollapsedOpOperand(Location loc, LinalgOp op,
// Insert a reshape to collapse the dimensions.
if (isa<MemRefType>(operand.getType())) {
- return builder
- .create<memref::CollapseShapeOp>(loc, operand, operandReassociation)
+ return memref::CollapseShapeOp::create(builder, loc, operand,
+ operandReassociation)
.getResult();
}
- return builder
- .create<tensor::CollapseShapeOp>(loc, operand, operandReassociation)
+ return tensor::CollapseShapeOp::create(builder, loc, operand,
+ operandReassociation)
.getResult();
}
diff --git a/mlir/lib/Dialect/Linalg/Transforms/PackAndUnpackPatterns.cpp b/mlir/lib/Dialect/Linalg/Transforms/PackAndUnpackPatterns.cpp
index a45a4e314e511..277e50bd5c9ec 100644
--- a/mlir/lib/Dialect/Linalg/Transforms/PackAndUnpackPatterns.cpp
+++ b/mlir/lib/Dialect/Linalg/Transforms/PackAndUnpackPatterns.cpp
@@ -81,9 +81,8 @@ struct SimplifyPackToExpandShape : public OpRewritePattern<PackOp> {
ArrayRef<ReassociationIndices> reassociation) const {
if (operand.getType() == newOperandType)
return operand;
- return rewriter
- .create<tensor::ExpandShapeOp>(loc, newOperandType, operand,
- reassociation)
+ return tensor::ExpandShapeOp::create(rewriter, loc, newOperandType, operand,
+ reassociation)
.getResult();
}
diff --git a/mlir/lib/Dialect/Linalg/Transforms/Padding.cpp b/mlir/lib/Dialect/Linalg/Transforms/Padding.cpp
index b5c5aea56a998..dd8437985197d 100644
--- a/mlir/lib/Dialect/Linalg/Transforms/Padding.cpp
+++ b/mlir/lib/Dialect/Linalg/Transforms/Padding.cpp
@@ -333,17 +333,16 @@ linalg::rewriteAsPaddedOp(RewriterBase &rewriter, LinalgOp opToPad,
for (auto it :
llvm::zip(paddedSubtensorResults, opToPad.getDpsInitsMutable())) {
if (options.copyBackOp == LinalgPaddingOptions::CopyBackOp::LinalgCopy) {
- replacements.push_back(rewriter
- .create<linalg::CopyOp>(loc, std::get<0>(it),
- std::get<1>(it).get())
+ replacements.push_back(linalg::CopyOp::create(rewriter, loc,
+ std::get<0>(it),
+ std::get<1>(it).get())
.getResult(0));
} else if (options.copyBackOp ==
LinalgPaddingOptions::CopyBackOp::
BufferizationMaterializeInDestination) {
replacements.push_back(
- rewriter
- .create<bufferization::MaterializeInDestinationOp>(
- loc, std::get<0>(it), std::get<1>(it).get())
+ bufferization::MaterializeInDestinationOp::create(
+ rewriter, loc, std::get<0>(it), std::get<1>(it).get())
->getResult(0));
} else {
llvm_unreachable("unsupported copy back op");
diff --git a/mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp b/mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
index 1f1e617738981..bb725f2ad6a68 100644
--- a/mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
+++ b/mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
@@ -947,9 +947,9 @@ DecomposePadOpPattern::matchAndRewrite(tensor::PadOp padOp,
auto getIdxValue = [&](OpFoldResult ofr) {
if (auto val = llvm::dyn_cast_if_present<Value>(ofr))
return val;
- return rewriter
- .create<arith::ConstantIndexOp>(
- padOp.getLoc(), cast<IntegerAttr>(cast<Attribute>(ofr)).getInt())
+ return arith::ConstantIndexOp::create(
+ rewriter, padOp.getLoc(),
+ cast<IntegerAttr>(cast<Attribute>(ofr)).getInt())
.getResult();
};
diff --git a/mlir/lib/Dialect/Linalg/Transforms/TransposeConv2D.cpp b/mlir/lib/Dialect/Linalg/Transforms/TransposeConv2D.cpp
index 99fb8c796cf06..35453e2d2e104 100644
--- a/mlir/lib/Dialect/Linalg/Transforms/TransposeConv2D.cpp
+++ b/mlir/lib/Dialect/Linalg/Transforms/TransposeConv2D.cpp
@@ -70,9 +70,8 @@ FailureOr<Operation *> transposeConv2DHelper(RewriterBase &rewriter,
input = tensor::EmptyOp::create(rewriter, loc, newFilterShape, elementTy)
.getResult();
} else {
- input = rewriter
- .create<memref::AllocOp>(
- loc, MemRefType::get(newFilterShape, elementTy))
+ input = memref::AllocOp::create(rewriter, loc,
+ MemRefType::get(newFilterShape, elementTy))
.getResult();
}
diff --git a/mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp b/mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
index ae627da5445a8..0170837cf81e4 100644
--- a/mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
+++ b/mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
@@ -3714,8 +3714,8 @@ struct Conv1DGenerator
}
}
- return rewriter
- .create<vector::TransferWriteOp>(loc, res, resShaped, resPadding)
+ return vector::TransferWriteOp::create(rewriter, loc, res, resShaped,
+ resPadding)
.getOperation();
}
diff --git a/mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp b/mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
index 669fefcd86de1..b80b27fe5fcc5 100644
--- a/mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
+++ b/mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
@@ -398,10 +398,9 @@ Value filterTransform(RewriterBase &rewriter, Location loc, Value filter,
retRows = GMatrix.rows;
auto matmulType = RankedTensorType::get({retRows, filterW}, elementType);
- auto empty =
- builder
- .create<tensor::EmptyOp>(loc, matmulType.getShape(), elementType)
- .getResult();
+ auto empty = tensor::EmptyOp::create(builder, loc, matmulType.getShape(),
+ elementType)
+ .getResult();
auto init =
linalg::FillOp::create(builder, loc, zero, empty).getResult(0);
@@ -422,10 +421,9 @@ Value filterTransform(RewriterBase &rewriter, Location loc, Value filter,
auto matmulType =
RankedTensorType::get({retRows, GTMatrix.cols}, elementType);
- auto empty =
- builder
- .create<tensor::EmptyOp>(loc, matmulType.getShape(), elementType)
- .getResult();
+ auto empty = tensor::EmptyOp::create(builder, loc, matmulType.getShape(),
+ elementType)
+ .getResult();
auto init =
linalg::FillOp::create(builder, loc, zero, empty).getResult(0);
@@ -547,10 +545,9 @@ Value inputTransform(RewriterBase &rewriter, Location loc, Value input,
retRows = BTMatrix.rows;
auto matmulType = RankedTensorType::get({retRows, alphaW}, elementType);
- auto empty =
- builder
- .create<tensor::EmptyOp>(loc, matmulType.getShape(), elementType)
- .getResult();
+ auto empty = tensor::EmptyOp::create(builder, loc, matmulType.getShape(),
+ elementType)
+ .getResult();
auto init =
linalg::FillOp::create(builder, loc, zero, empty).getResult(0);
@@ -572,10 +569,9 @@ Value inputTransform(RewriterBase &rewriter, Location loc, Value input,
retCols = BMatrix.cols;
auto matmulType = RankedTensorType::get({retRows, retCols}, elementType);
- auto empty =
- builder
- .create<tensor::EmptyOp>(loc, matmulType.getShape(), elementType)
- .getResult();
+ auto empty = tensor::EmptyOp::create(builder, loc, matmulType.getShape(),
+ elementType)
+ .getResult();
auto init =
linalg::FillOp::create(builder, loc, zero, empty).getResult(0);
Value B =
@@ -661,9 +657,8 @@ static Value matrixMultiply(RewriterBase &rewriter, Location loc,
{inputShape[0] * inputShape[1],
inputShape[2] * inputShape[3] * inputShape[4], filterShape[3]},
outputElementType);
- Value empty = rewriter
- .create<tensor::EmptyOp>(loc, matmulType.getShape(),
- outputElementType)
+ Value empty = tensor::EmptyOp::create(rewriter, loc, matmulType.getShape(),
+ outputElementType)
.getResult();
Value zero = arith::ConstantOp::create(
rewriter, loc, rewriter.getZeroAttr(outputElementType));
@@ -782,9 +777,8 @@ Value outputTransform(RewriterBase &rewriter, Location loc, Value value,
auto matmulType = RankedTensorType::get({retRows, valueW}, elementType);
Value init = outInitVal;
if (rightTransform || scalarFactor != 1) {
- auto empty = builder
- .create<tensor::EmptyOp>(loc, matmulType.getShape(),
- elementType)
+ auto empty = tensor::EmptyOp::create(builder, loc,
+ matmulType.getShape(), elementType)
.getResult();
init = linalg::FillOp::create(builder, loc, zero, empty).getResult(0);
}
@@ -802,9 +796,8 @@ Value outputTransform(RewriterBase &rewriter, Location loc, Value value,
RankedTensorType::get({retRows, AMatrix.cols}, elementType);
Value init = outInitVal;
if (scalarFactor != 1) {
- auto empty = builder
- .create<tensor::EmptyOp>(loc, matmulType.getShape(),
- elementType)
+ auto empty = tensor::EmptyOp::create(builder, loc,
+ matmulType.getShape(), elementType)
.getResult();
init = linalg::FillOp::create(builder, loc, zero, empty).getResult(0);
}
@@ -827,23 +820,21 @@ Value outputTransform(RewriterBase &rewriter, Location loc, Value value,
AffineMap::get(2, 0, context), identityAffineMap, identityAffineMap};
matmulRetValue =
- rewriter
- .create<linalg::GenericOp>(
- loc, matmulType,
- ValueRange{scalarFactorValue, matmulRetValue},
- ValueRange{outInitVal}, affineMaps,
- llvm::ArrayRef<utils::IteratorType>{
- utils::IteratorType::parallel,
- utils::IteratorType::parallel},
- [&](OpBuilder &nestedBuilder, Location nestedLoc,
- ValueRange args) {
- auto mulf = arith::MulFOp::create(nestedBuilder, nestedLoc,
- args[0], args[1]);
- auto addf = arith::AddFOp::create(
- nestedBuilder, nestedLoc, mulf.getResult(), args[2]);
- linalg::YieldOp::create(nestedBuilder, nestedLoc,
- addf.getResult());
- })
+ linalg::GenericOp::create(
+ rewriter, loc, matmulType,
+ ValueRange{scalarFactorValue, matmulRetValue},
+ ValueRange{outInitVal}, affineMaps,
+ llvm::ArrayRef<utils::IteratorType>{
+ utils::IteratorType::parallel, utils::IteratorType::parallel},
+ [&](OpBuilder &nestedBuilder, Location nestedLoc,
+ ValueRange args) {
+ auto mulf = arith::MulFOp::create(nestedBuilder, nestedLoc,
+ args[0], args[1]);
+ auto addf = arith::AddFOp::create(nestedBuilder, nestedLoc,
+ mulf.getResult(), args[2]);
+ linalg::YieldOp::create(nestedBuilder, nestedLoc,
+ addf.getResult());
+ })
.getResult(0);
}
diff --git a/mlir/lib/Dialect/Vector/IR/VectorOps.cpp b/mlir/lib/Dialect/Vector/IR/VectorOps.cpp
index 4e9f93b9cae6f..bce358d8903eb 100644
--- a/mlir/lib/Dialect/Vector/IR/VectorOps.cpp
+++ b/mlir/lib/Dialect/Vector/IR/VectorOps.cpp
@@ -372,9 +372,8 @@ SmallVector<Value> vector::getAsValues(OpBuilder &builder, Location loc,
llvm::transform(foldResults, std::back_inserter(values),
[&](OpFoldResult foldResult) {
if (auto attr = dyn_cast<Attribute>(foldResult))
- return builder
- .create<arith::ConstantIndexOp>(
- loc, cast<IntegerAttr>(attr).getInt())
+ return arith::ConstantIndexOp::create(
+ builder, loc, cast<IntegerAttr>(attr).getInt())
.getResult();
return cast<Value>(foldResult);
diff --git a/mlir/lib/Dialect/Vector/Transforms/LowerVectorGather.cpp b/mlir/lib/Dialect/Vector/Transforms/LowerVectorGather.cpp
index 2484670c39caa..e062f55f87679 100644
--- a/mlir/lib/Dialect/Vector/Transforms/LowerVectorGather.cpp
+++ b/mlir/lib/Dialect/Vector/Transforms/LowerVectorGather.cpp
@@ -248,11 +248,10 @@ struct Gather1DToConditionalLoads : OpRewritePattern<vector::GatherOp> {
scf::YieldOp::create(b, loc, result);
};
- result =
- rewriter
- .create<scf::IfOp>(loc, condition, /*thenBuilder=*/loadBuilder,
+ result = scf::IfOp::create(rewriter, loc, condition,
+ /*thenBuilder=*/loadBuilder,
/*elseBuilder=*/passThruBuilder)
- .getResult(0);
+ .getResult(0);
}
rewriter.replaceOp(op, result);
diff --git a/mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp b/mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
index e9109322ed3d8..4baeb1145d25b 100644
--- a/mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
+++ b/mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
@@ -142,8 +142,8 @@ struct TransferReadPermutationLowering
// Transpose result of transfer_read.
SmallVector<int64_t> transposePerm(permutation.begin(), permutation.end());
- return rewriter
- .create<vector::TransposeOp>(op.getLoc(), newRead, transposePerm)
+ return vector::TransposeOp::create(rewriter, op.getLoc(), newRead,
+ transposePerm)
.getResult();
}
};
@@ -371,8 +371,8 @@ struct TransferOpReduceRank
rewriter, op.getLoc(), newReadType, op.getBase(), op.getIndices(),
AffineMapAttr::get(newMap), op.getPadding(), op.getMask(),
newInBoundsAttr);
- return rewriter
- .create<vector::BroadcastOp>(op.getLoc(), originalVecType, newRead)
+ return vector::BroadcastOp::create(rewriter, op.getLoc(), originalVecType,
+ newRead)
.getVector();
}
};
diff --git a/mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp b/mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
index 58e94ea00189f..bb0f339a26e43 100644
--- a/mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
+++ b/mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
@@ -451,10 +451,9 @@ struct WarpOpTransferWrite : public WarpDistributionPattern {
}
SmallVector<Value> delinearized;
if (map.getNumResults() > 1) {
- delinearized = rewriter
- .create<mlir::affine::AffineDelinearizeIndexOp>(
- newWarpOp.getLoc(), newWarpOp.getLaneid(),
- delinearizedIdSizes)
+ delinearized = mlir::affine::AffineDelinearizeIndexOp::create(
+ rewriter, newWarpOp.getLoc(), newWarpOp.getLaneid(),
+ delinearizedIdSizes)
.getResults();
} else {
// If there is only one map result, we can elide the delinearization
@@ -1538,19 +1537,18 @@ struct WarpOpInsertScalar : public WarpDistributionPattern {
arith::CmpIOp::create(rewriter, loc, arith::CmpIPredicate::eq,
newWarpOp.getLaneid(), insertingLane);
Value newResult =
- rewriter
- .create<scf::IfOp>(
- loc, isInsertingLane,
- /*thenBuilder=*/
- [&](OpBuilder &builder, Location loc) {
- Value newInsert = vector::InsertOp::create(
- builder, loc, newSource, distributedVec, newPos);
- scf::YieldOp::create(builder, loc, newInsert);
- },
- /*elseBuilder=*/
- [&](OpBuilder &builder, Location loc) {
- scf::YieldOp::create(builder, loc, distributedVec);
- })
+ scf::IfOp::create(
+ rewriter, loc, isInsertingLane,
+ /*thenBuilder=*/
+ [&](OpBuilder &builder, Location loc) {
+ Value newInsert = vector::InsertOp::create(
+ builder, loc, newSource, distributedVec, newPos);
+ scf::YieldOp::create(builder, loc, newInsert);
+ },
+ /*elseBuilder=*/
+ [&](OpBuilder &builder, Location loc) {
+ scf::YieldOp::create(builder, loc, distributedVec);
+ })
.getResult(0);
rewriter.replaceAllUsesWith(newWarpOp->getResult(operandNumber), newResult);
return success();
@@ -1661,10 +1659,9 @@ struct WarpOpInsert : public WarpDistributionPattern {
auto nonInsertingBuilder = [&](OpBuilder &builder, Location loc) {
scf::YieldOp::create(builder, loc, distributedDest);
};
- newResult = rewriter
- .create<scf::IfOp>(loc, isInsertingLane,
- /*thenBuilder=*/insertingBuilder,
- /*elseBuilder=*/nonInsertingBuilder)
+ newResult = scf::IfOp::create(rewriter, loc, isInsertingLane,
+ /*thenBuilder=*/insertingBuilder,
+ /*elseBuilder=*/nonInsertingBuilder)
.getResult(0);
}
diff --git a/mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp b/mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
index 73388a5da3e4f..9889d7f221fe6 100644
--- a/mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
+++ b/mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
@@ -466,9 +466,9 @@ mlir::vector::castAwayContractionLeadingOneDim(vector::ContractionOp contractOp,
newOp = mlir::vector::maskOperation(rewriter, newOp, newMask);
}
- return rewriter
- .create<vector::BroadcastOp>(loc, contractOp->getResultTypes()[0],
- newOp->getResults()[0])
+ return vector::BroadcastOp::create(rewriter, loc,
+ contractOp->getResultTypes()[0],
+ newOp->getResults()[0])
.getResult();
}
diff --git a/mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp b/mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
index 91a484f7d463c..f78e579d6c099 100644
--- a/mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
+++ b/mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
@@ -132,17 +132,16 @@ static FailureOr<Operation *> getCompressedMaskOp(OpBuilder &rewriter,
return vector::CreateMaskOp::create(rewriter, loc, newMaskType,
newMaskOperands);
})
- .Case<vector::ConstantMaskOp>(
- [&](auto constantMaskOp) -> std::optional<Operation *> {
- // Take the shape of mask, compress its trailing dimension:
- SmallVector<int64_t> maskDimSizes(
- constantMaskOp.getMaskDimSizes());
- int64_t &maskIndex = maskDimSizes.back();
- maskIndex = llvm::divideCeil(numFrontPadElems + maskIndex,
- numSrcElemsPerDest);
- return vector::ConstantMaskOp::create(
- rewriter, loc, newMaskType, maskDimSizes);
- })
+ .Case<vector::ConstantMaskOp>([&](auto constantMaskOp)
+ -> std::optional<Operation *> {
+ // Take the shape of mask, compress its trailing dimension:
+ SmallVector<int64_t> maskDimSizes(constantMaskOp.getMaskDimSizes());
+ int64_t &maskIndex = maskDimSizes.back();
+ maskIndex = llvm::divideCeil(numFrontPadElems + maskIndex,
+ numSrcElemsPerDest);
+ return vector::ConstantMaskOp::create(rewriter, loc, newMaskType,
+ maskDimSizes);
+ })
.Case<arith::ConstantOp>([&](auto constantOp)
-> std::optional<Operation *> {
// TODO: Support multiple dimensions.
@@ -229,9 +228,8 @@ static Value staticallyExtractSubvector(OpBuilder &rewriter, Location loc,
auto resultVectorType =
VectorType::get({numElemsToExtract}, vectorType.getElementType());
- return rewriter
- .create<vector::ExtractStridedSliceOp>(loc, resultVectorType, src,
- offsets, sizes, strides)
+ return vector::ExtractStridedSliceOp::create(rewriter, loc, resultVectorType,
+ src, offsets, sizes, strides)
->getResult(0);
}
diff --git a/mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp b/mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
index 2676d254c9b64..48d680c03489b 100644
--- a/mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
+++ b/mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
@@ -330,8 +330,8 @@ createMaskDropNonScalableUnitDims(PatternRewriter &rewriter, Location loc,
}
reducedOperands.push_back(operand);
}
- return rewriter
- .create<vector::CreateMaskOp>(loc, reducedType, reducedOperands)
+ return vector::CreateMaskOp::create(rewriter, loc, reducedType,
+ reducedOperands)
.getResult();
}
diff --git a/mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp b/mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
index 05b00744beea2..5e12dc486e595 100644
--- a/mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
+++ b/mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
@@ -348,24 +348,23 @@ getLocationToWriteFullVec(RewriterBase &b, vector::TransferWriteOp xferOp,
Location loc = xferOp.getLoc();
Value zero = arith::ConstantIndexOp::create(b, loc, 0);
Value memref = xferOp.getBase();
- return b
- .create<scf::IfOp>(
- loc, inBoundsCond,
- [&](OpBuilder &b, Location loc) {
- Value res =
- castToCompatibleMemRefType(b, memref, compatibleMemRefType);
- scf::ValueVector viewAndIndices{res};
- llvm::append_range(viewAndIndices, xferOp.getIndices());
- scf::YieldOp::create(b, loc, viewAndIndices);
- },
- [&](OpBuilder &b, Location loc) {
- Value casted =
- castToCompatibleMemRefType(b, alloc, compatibleMemRefType);
- scf::ValueVector viewAndIndices{casted};
- viewAndIndices.insert(viewAndIndices.end(),
- xferOp.getTransferRank(), zero);
- scf::YieldOp::create(b, loc, viewAndIndices);
- })
+ return scf::IfOp::create(
+ b, loc, inBoundsCond,
+ [&](OpBuilder &b, Location loc) {
+ Value res =
+ castToCompatibleMemRefType(b, memref, compatibleMemRefType);
+ scf::ValueVector viewAndIndices{res};
+ llvm::append_range(viewAndIndices, xferOp.getIndices());
+ scf::YieldOp::create(b, loc, viewAndIndices);
+ },
+ [&](OpBuilder &b, Location loc) {
+ Value casted =
+ castToCompatibleMemRefType(b, alloc, compatibleMemRefType);
+ scf::ValueVector viewAndIndices{casted};
+ viewAndIndices.insert(viewAndIndices.end(),
+ xferOp.getTransferRank(), zero);
+ scf::YieldOp::create(b, loc, viewAndIndices);
+ })
->getResults();
}
diff --git a/mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp b/mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
index 73ca327bb49c5..8de87fef904fa 100644
--- a/mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
+++ b/mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
@@ -410,9 +410,8 @@ FailureOr<Value> combineContractAndBroadcast(vector::ContractionOp contractOp,
oldMaskType.getScalableDims().drop_front(unusedDimsBitVector.count());
VectorType maskOpType =
VectorType::get(newShape, rewriter.getI1Type(), newShapeScalableDims);
- mask = rewriter
- .create<vector::ShapeCastOp>(contractOp.getLoc(), maskOpType,
- maskingOp.getMask())
+ mask = vector::ShapeCastOp::create(rewriter, contractOp.getLoc(),
+ maskOpType, maskingOp.getMask())
.getResult();
}
More information about the Mlir-commits
mailing list