Skip to content

Commit 7b78796

Browse files
authored
[mlir][NFC] update mlir/Dialect create APIs (25/n) (#149932)
See #147168 for more info.
1 parent 08ac781 commit 7b78796

16 files changed

+175
-169
lines changed

mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -845,9 +845,9 @@ struct PadSliceOptimization : public OpRewritePattern<tosa::SliceOp> {
845845
getTosaConstShape(rewriter, sliceOp.getLoc(), newPadPaddings);
846846
auto newPadTy =
847847
RankedTensorType::get(newPadShape, inputTy.getElementType());
848-
auto newPadOp = rewriter.create<tosa::PadOp>(
849-
padOp.getLoc(), newPadTy, padOp.getInput1(), newPaddingsOp,
850-
padOp.getPadConst());
848+
auto newPadOp = tosa::PadOp::create(rewriter, padOp.getLoc(), newPadTy,
849+
padOp.getInput1(), newPaddingsOp,
850+
padOp.getPadConst());
851851

852852
// Update SliceOp and point to new PadOp
853853
auto newStartOp =
@@ -897,9 +897,9 @@ struct SliceDynamicSizeCanonicalization
897897
}
898898

899899
auto size_op = getTosaConstShape(rewriter, sliceOp.getLoc(), sliceSizes);
900-
auto newSliceOp = rewriter.create<tosa::SliceOp>(
901-
sliceOp.getLoc(), sliceOp.getType(), sliceOp.getInput1(),
902-
sliceOp.getStart(), size_op);
900+
auto newSliceOp =
901+
tosa::SliceOp::create(rewriter, sliceOp.getLoc(), sliceOp.getType(),
902+
sliceOp.getInput1(), sliceOp.getStart(), size_op);
903903

904904
rewriter.replaceOp(sliceOp, newSliceOp.getResult());
905905
return success();

mlir/lib/Dialect/Tosa/IR/TosaOps.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -180,12 +180,12 @@ Operation *TosaDialect::materializeConstant(OpBuilder &builder, Attribute value,
180180
// Tosa dialect constants only support ElementsAttr unlike standard dialect
181181
// constant which supports all attributes.
182182
if (llvm::isa<shapeType>(type) && llvm::isa<DenseIntElementsAttr>(value)) {
183-
return builder.create<tosa::ConstShapeOp>(
184-
loc, type, llvm::cast<DenseIntElementsAttr>(value));
183+
return tosa::ConstShapeOp::create(builder, loc, type,
184+
llvm::cast<DenseIntElementsAttr>(value));
185185
}
186186
if (llvm::isa<ElementsAttr>(value))
187-
return builder.create<tosa::ConstOp>(loc, type,
188-
llvm::cast<ElementsAttr>(value));
187+
return tosa::ConstOp::create(builder, loc, type,
188+
llvm::cast<ElementsAttr>(value));
189189
return nullptr;
190190
}
191191

@@ -323,7 +323,7 @@ Value mlir::tosa::createPadConstTensor(OpBuilder &builder, Location loc,
323323
builder.getFloatAttr(srcElemType, val))
324324
: DenseElementsAttr::get(padConstEType,
325325
builder.getIntegerAttr(srcElemType, val))};
326-
return builder.create<tosa::ConstOp>(loc, padConstType, padConstAttr);
326+
return tosa::ConstOp::create(builder, loc, padConstType, padConstAttr);
327327
}
328328

329329
//===----------------------------------------------------------------------===//
@@ -2415,7 +2415,7 @@ LogicalResult TransposeOp::reifyResultShapes(
24152415
int32_t dimInInput = transposePerms[dim];
24162416
if (inputType.isDynamicDim(dimInInput))
24172417
returnedDims[dim] =
2418-
builder.create<tensor::DimOp>(getLoc(), input, dimInInput)
2418+
tensor::DimOp::create(builder, getLoc(), input, dimInInput)
24192419
.getResult();
24202420
else
24212421
returnedDims[dim] =
@@ -3947,12 +3947,12 @@ std::optional<Value> mlir::tosa::createZeroPointTensor(OpBuilder &builder,
39473947
if (llvm::isa<FloatType>(srcElemType)) {
39483948
auto zpAttr = DenseElementsAttr::get(
39493949
zpType, builder.getFloatAttr(srcElemType, static_cast<double>(zp)));
3950-
return builder.create<tosa::ConstOp>(loc, zpType, zpAttr);
3950+
return tosa::ConstOp::create(builder, loc, zpType, zpAttr);
39513951
}
39523952
if (llvm::isa<IntegerType>(srcElemType)) {
39533953
auto zpAttr =
39543954
DenseElementsAttr::get(zpType, builder.getIntegerAttr(srcElemType, zp));
3955-
return builder.create<tosa::ConstOp>(loc, zpType, zpAttr);
3955+
return tosa::ConstOp::create(builder, loc, zpType, zpAttr);
39563956
}
39573957
llvm::errs() << "zero point is not allowed for unsupported data types\n";
39583958
return std::nullopt;

mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeDepthwise.cpp

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -90,12 +90,12 @@ struct DepthwiseConv2DIsMul : public OpRewritePattern<tosa::DepthwiseConv2DOp> {
9090

9191
if (inputETy != resultETy) {
9292
inputType = inputType.clone(resultETy);
93-
input = rewriter.create<tosa::CastOp>(op.getLoc(), inputType, input);
93+
input = tosa::CastOp::create(rewriter, op.getLoc(), inputType, input);
9494
}
9595

9696
if (weightETy != resultETy) {
9797
weightType = weightType.clone(resultETy);
98-
weight = rewriter.create<tosa::CastOp>(op.getLoc(), weightType, weight);
98+
weight = tosa::CastOp::create(rewriter, op.getLoc(), weightType, weight);
9999
}
100100

101101
if (iZp != 0 || wZp != 0) {
@@ -109,9 +109,9 @@ struct DepthwiseConv2DIsMul : public OpRewritePattern<tosa::DepthwiseConv2DOp> {
109109
auto zpTy = RankedTensorType::get(shape, ety);
110110
auto zpAttr =
111111
DenseElementsAttr::get(zpTy, rewriter.getIntegerAttr(ety, zp));
112-
auto zpVal = rewriter.create<tosa::ConstOp>(op.getLoc(), zpTy, zpAttr);
113-
return rewriter.create<tosa::SubOp>(op.getLoc(), val.getType(), val,
114-
zpVal);
112+
auto zpVal = tosa::ConstOp::create(rewriter, op.getLoc(), zpTy, zpAttr);
113+
return tosa::SubOp::create(rewriter, op.getLoc(), val.getType(), val,
114+
zpVal);
115115
};
116116

117117
input = applyZp(input, iZp);
@@ -138,10 +138,10 @@ struct DepthwiseConv2DIsMul : public OpRewritePattern<tosa::DepthwiseConv2DOp> {
138138
auto padTy = RankedTensorType::get({1}, inputETy);
139139
auto padAttr = DenseElementsAttr::get(padTy, zeroAttr);
140140
Value padVal =
141-
rewriter.create<tosa::ConstOp>(op->getLoc(), padTy, padAttr);
141+
tosa::ConstOp::create(rewriter, op->getLoc(), padTy, padAttr);
142142
inputType = RankedTensorType::get(newShape, inputETy);
143-
input = rewriter.create<tosa::PadOp>(op->getLoc(), inputType, input,
144-
padSizeVal, padVal);
143+
input = tosa::PadOp::create(rewriter, op->getLoc(), inputType, input,
144+
padSizeVal, padVal);
145145
}
146146

147147
// Perform an elementwise mul over the reshaped input and weight.
@@ -161,7 +161,7 @@ struct DepthwiseConv2DIsMul : public OpRewritePattern<tosa::DepthwiseConv2DOp> {
161161
auto shiftZeroAttr = DenseElementsAttr::get(
162162
shiftType, rewriter.getIntegerAttr(shiftElementType, 0));
163163
Value constZero =
164-
rewriter.create<tosa::ConstOp>(op.getLoc(), shiftType, shiftZeroAttr);
164+
tosa::ConstOp::create(rewriter, op.getLoc(), shiftType, shiftZeroAttr);
165165
Value mulValue = rewriter
166166
.create<tosa::MulOp>(op.getLoc(), mulShapeType, input,
167167
weight, constZero)
@@ -174,8 +174,8 @@ struct DepthwiseConv2DIsMul : public OpRewritePattern<tosa::DepthwiseConv2DOp> {
174174
dyn_cast<RankedTensorType>(input.getType()).getElementType());
175175
auto outputShapeValue =
176176
getTosaConstShape(rewriter, op->getLoc(), outputShape);
177-
Value outputValue = rewriter.create<tosa::ReshapeOp>(
178-
op.getLoc(), outputShapeType, mulValue, outputShapeValue);
177+
Value outputValue = tosa::ReshapeOp::create(
178+
rewriter, op.getLoc(), outputShapeType, mulValue, outputShapeValue);
179179

180180
Value bias = op.getBias();
181181
if (EqualizeRanks(rewriter, op.getLoc(), outputValue, bias).failed()) {

mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeTransposeConv.cpp

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -62,14 +62,16 @@ class TransposeConvNonStridedConverter
6262
convPad[2] = kernelWidth - 1 + pad[2];
6363
convPad[3] = kernelWidth - 1 + pad[3];
6464

65-
auto reverse1 = rewriter.create<tosa::ReverseOp>(
66-
loc, weightTy, weight, /* axis = */ rewriter.getI32IntegerAttr(1));
67-
auto reverse2 = rewriter.create<tosa::ReverseOp>(
68-
loc, weightTy, reverse1, /* axis = */ rewriter.getI32IntegerAttr(2));
69-
70-
Value conv2d = rewriter.create<tosa::Conv2DOp>(
71-
loc, resultTy, input, reverse2, bias, op.getInputZp(), op.getWeightZp(),
72-
rewriter.getDenseI64ArrayAttr(convPad),
65+
auto reverse1 =
66+
tosa::ReverseOp::create(rewriter, loc, weightTy, weight,
67+
/* axis = */ rewriter.getI32IntegerAttr(1));
68+
auto reverse2 =
69+
tosa::ReverseOp::create(rewriter, loc, weightTy, reverse1,
70+
/* axis = */ rewriter.getI32IntegerAttr(2));
71+
72+
Value conv2d = tosa::Conv2DOp::create(
73+
rewriter, loc, resultTy, input, reverse2, bias, op.getInputZp(),
74+
op.getWeightZp(), rewriter.getDenseI64ArrayAttr(convPad),
7375
rewriter.getDenseI64ArrayAttr(stride),
7476
rewriter.getDenseI64ArrayAttr({1, 1}),
7577
/* acc_type = */ op.getAccType());
@@ -216,8 +218,8 @@ class TransposeConvStridedConverter
216218
inputPaddingVal, inputPadConst);
217219

218220
// We use a zero bias as we need to broadcast the bias.
219-
auto zeroBias = rewriter.create<tosa::ConstOp>(
220-
loc,
221+
auto zeroBias = tosa::ConstOp::create(
222+
rewriter, loc,
221223
RankedTensorType::get({outputChannels * stride[0] * stride[1]},
222224
biasETy),
223225
DenseElementsAttr::get(

mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ class TypeModificationState {
112112
OpBuilder builder{value.getContext()};
113113
builder.setInsertionPointAfter(value.getDefiningOp());
114114
castValue =
115-
builder.create<tensor::CastOp>(value.getLoc(), oldType, value);
115+
tensor::CastOp::create(builder, value.getLoc(), oldType, value);
116116
}
117117

118118
use->set(castValue);

mlir/lib/Dialect/Tosa/Transforms/TosaReduceTransposes.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -419,8 +419,8 @@ std::optional<Value> TosaReduceTransposes::buildMappedToValue(
419419
return std::nullopt;
420420
}
421421
ImplicitLocOpBuilder builder(reshapeOp.getLoc(), rewriter);
422-
auto foldedReshape = rewriter.create<ReshapeOp>(
423-
reshapeOp.getLoc(),
422+
auto foldedReshape = ReshapeOp::create(
423+
rewriter, reshapeOp.getLoc(),
424424
RankedTensorType::get(applyTOSAPermutation(shape, hoistedPerms),
425425
reshapeOutputType.getElementType()),
426426
reshapeOp.getInput1(),
@@ -439,8 +439,8 @@ std::optional<Value> TosaReduceTransposes::buildMappedToValue(
439439
if (!maybeNewDenseAttr.has_value())
440440
return std::nullopt;
441441
auto newDenseAttr = maybeNewDenseAttr.value();
442-
auto newConstOp = rewriter.create<ConstOp>(
443-
constOp.getLoc(), newDenseAttr.getType(), newDenseAttr);
442+
auto newConstOp = ConstOp::create(rewriter, constOp.getLoc(),
443+
newDenseAttr.getType(), newDenseAttr);
444444
return newConstOp->getResult(0);
445445
}
446446

mlir/lib/Dialect/Tosa/Transforms/TosaTypeConverters.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ void mlir::tosa::populateTosaTypeConversion(TypeConverter &converter) {
3737
if (inputs.size() != 1)
3838
return Value();
3939

40-
return builder.create<UnrealizedConversionCastOp>(loc, resultType, inputs)
40+
return UnrealizedConversionCastOp::create(builder, loc, resultType, inputs)
4141
.getResult(0);
4242
});
4343
converter.addTargetMaterialization([&](OpBuilder &builder, Type resultType,
@@ -46,7 +46,7 @@ void mlir::tosa::populateTosaTypeConversion(TypeConverter &converter) {
4646
if (inputs.size() != 1)
4747
return Value();
4848

49-
return builder.create<UnrealizedConversionCastOp>(loc, resultType, inputs)
49+
return UnrealizedConversionCastOp::create(builder, loc, resultType, inputs)
5050
.getResult(0);
5151
});
5252
}

mlir/lib/Dialect/Tosa/Utils/ConversionUtils.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,18 +33,18 @@ mlir::tosa::condenseValues(const SmallVector<Value> &values) {
3333

3434
Value mlir::tosa::clampFloatHelper(Location loc, Value arg, Value min,
3535
Value max, OpBuilder &rewriter) {
36-
Value minValue = rewriter.create<arith::MinimumFOp>(loc, arg, max);
37-
return rewriter.create<arith::MaximumFOp>(loc, minValue, min);
36+
Value minValue = arith::MinimumFOp::create(rewriter, loc, arg, max);
37+
return arith::MaximumFOp::create(rewriter, loc, minValue, min);
3838
}
3939

4040
Value mlir::tosa::clampIntHelper(Location loc, Value arg, Value min, Value max,
4141
OpBuilder &rewriter, bool isUnsigned) {
4242
if (isUnsigned) {
43-
auto minOrArg = rewriter.create<arith::MaxUIOp>(loc, min, arg);
44-
return rewriter.create<arith::MinUIOp>(loc, max, minOrArg);
43+
auto minOrArg = arith::MaxUIOp::create(rewriter, loc, min, arg);
44+
return arith::MinUIOp::create(rewriter, loc, max, minOrArg);
4545
}
46-
auto minOrArg = rewriter.create<arith::MaxSIOp>(loc, min, arg);
47-
return rewriter.create<arith::MinSIOp>(loc, max, minOrArg);
46+
auto minOrArg = arith::MaxSIOp::create(rewriter, loc, min, arg);
47+
return arith::MinSIOp::create(rewriter, loc, max, minOrArg);
4848
}
4949

5050
bool mlir::tosa::validIntegerRange(IntegerType ty, int64_t value) {
@@ -144,8 +144,8 @@ LogicalResult mlir::tosa::EqualizeRanks(ImplicitLocOpBuilder &builder,
144144
ArrayRef<int64_t>(reshapeOutputShape), reshapeInputType.getElementType());
145145
auto reshapeOutputShapeValue = getTosaConstShape(builder, reshapeOutputShape);
146146

147-
auto reshapeLower = builder.create<tosa::ReshapeOp>(
148-
reshapeOutputType, lowerTensorValue, reshapeOutputShapeValue);
147+
auto reshapeLower = tosa::ReshapeOp::create(
148+
builder, reshapeOutputType, lowerTensorValue, reshapeOutputShapeValue);
149149

150150
if (input1Rank > input2Rank) {
151151
input1 = higherTensorValue;
@@ -162,7 +162,7 @@ Value mlir::tosa::getTosaConstShape(ImplicitLocOpBuilder &builder,
162162
llvm::ArrayRef<int64_t> shape) {
163163
auto attr = builder.getIndexTensorAttr(convertFromMlirShape(shape));
164164
auto type = mlir::tosa::shapeType::get(builder.getContext(), shape.size());
165-
mlir::Operation *mlir_op = builder.create<tosa::ConstShapeOp>(type, attr);
165+
mlir::Operation *mlir_op = tosa::ConstShapeOp::create(builder, type, attr);
166166
return mlir_op->getResult(0);
167167
}
168168

mlir/lib/Dialect/UB/IR/UBOps.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ void UBDialect::initialize() {
5252
Operation *UBDialect::materializeConstant(OpBuilder &builder, Attribute value,
5353
Type type, Location loc) {
5454
if (auto attr = dyn_cast<PoisonAttr>(value))
55-
return builder.create<PoisonOp>(loc, type, attr);
55+
return PoisonOp::create(builder, loc, type, attr);
5656

5757
return nullptr;
5858
}

mlir/lib/Dialect/X86Vector/IR/X86VectorDialect.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,11 @@ SmallVector<Value> x86vector::MaskCompressOp::getIntrinsicOperands(
6060
if (adaptor.getSrc()) {
6161
src = adaptor.getSrc();
6262
} else if (adaptor.getConstantSrc()) {
63-
src = rewriter.create<LLVM::ConstantOp>(loc, opType,
64-
adaptor.getConstantSrcAttr());
63+
src = LLVM::ConstantOp::create(rewriter, loc, opType,
64+
adaptor.getConstantSrcAttr());
6565
} else {
6666
auto zeroAttr = rewriter.getZeroAttr(opType);
67-
src = rewriter.create<LLVM::ConstantOp>(loc, opType, zeroAttr);
67+
src = LLVM::ConstantOp::create(rewriter, loc, opType, zeroAttr);
6868
}
6969

7070
return SmallVector<Value>{adaptor.getA(), src, adaptor.getK()};
@@ -77,7 +77,7 @@ x86vector::DotOp::getIntrinsicOperands(ArrayRef<Value> operands,
7777
SmallVector<Value> intrinsicOperands(operands);
7878
// Dot product of all elements, broadcasted to all elements.
7979
Value scale =
80-
rewriter.create<LLVM::ConstantOp>(getLoc(), rewriter.getI8Type(), 0xff);
80+
LLVM::ConstantOp::create(rewriter, getLoc(), rewriter.getI8Type(), 0xff);
8181
intrinsicOperands.push_back(scale);
8282

8383
return intrinsicOperands;
@@ -90,14 +90,14 @@ SmallVector<Value> x86vector::DotInt8Op::getIntrinsicOperands(
9090
Adaptor adaptor(operands, *this);
9191
intrinsicOprnds.push_back(adaptor.getW());
9292
// Bitcast `a` and `b` to i32
93-
Value bitcast_a = rewriter.create<LLVM::BitcastOp>(
94-
getLoc(),
93+
Value bitcast_a = LLVM::BitcastOp::create(
94+
rewriter, getLoc(),
9595
VectorType::get((getA().getType().getShape()[0] / 4),
9696
rewriter.getIntegerType(32)),
9797
adaptor.getA());
9898
intrinsicOprnds.push_back(bitcast_a);
99-
Value bitcast_b = rewriter.create<LLVM::BitcastOp>(
100-
getLoc(),
99+
Value bitcast_b = LLVM::BitcastOp::create(
100+
rewriter, getLoc(),
101101
VectorType::get((getB().getType().getShape()[0] / 4),
102102
rewriter.getIntegerType(32)),
103103
adaptor.getB());

0 commit comments

Comments
 (0)