Skip to content

Commit 2ed3f49

Browse files
authored
[mlir] Use free op create functions. NFC. (#157374)
The builder create methods are deprecated: https://mlir.llvm.org/deprecation/. See https://discourse.llvm.org/t/psa-opty-create-now-with-100-more-tab-complete/87339.
1 parent dcd0ee0 commit 2ed3f49

File tree

9 files changed

+60
-60
lines changed

9 files changed

+60
-60
lines changed

mlir/lib/Conversion/ComplexToROCDLLibraryCalls/ComplexToROCDLLibraryCalls.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,9 @@ struct PowOpToROCDLLibraryCalls : public OpRewritePattern<complex::PowOp> {
6464
LogicalResult matchAndRewrite(complex::PowOp op,
6565
PatternRewriter &rewriter) const final {
6666
Location loc = op.getLoc();
67-
Value logBase = rewriter.create<complex::LogOp>(loc, op.getLhs());
68-
Value mul = rewriter.create<complex::MulOp>(loc, op.getRhs(), logBase);
69-
Value exp = rewriter.create<complex::ExpOp>(loc, mul);
67+
Value logBase = complex::LogOp::create(rewriter, loc, op.getLhs());
68+
Value mul = complex::MulOp::create(rewriter, loc, op.getRhs(), logBase);
69+
Value exp = complex::ExpOp::create(rewriter, loc, mul);
7070
rewriter.replaceOp(op, exp);
7171
return success();
7272
}

mlir/lib/Conversion/PtrToLLVM/PtrToLLVM.cpp

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -169,16 +169,16 @@ LogicalResult FromPtrOpConversion::matchAndRewrite(
169169
// Set the allocated and aligned pointers.
170170
desc.setAllocatedPtr(
171171
rewriter, loc,
172-
rewriter.create<LLVM::ExtractValueOp>(loc, adaptor.getMetadata(), 0));
172+
LLVM::ExtractValueOp::create(rewriter, loc, adaptor.getMetadata(), 0));
173173
desc.setAlignedPtr(rewriter, loc, adaptor.getPtr());
174174

175175
// Extract metadata from the passed struct.
176176
unsigned fieldIdx = 1;
177177

178178
// Set dynamic offset if needed.
179179
if (offset == ShapedType::kDynamic) {
180-
Value offsetValue = rewriter.create<LLVM::ExtractValueOp>(
181-
loc, adaptor.getMetadata(), fieldIdx++);
180+
Value offsetValue = LLVM::ExtractValueOp::create(
181+
rewriter, loc, adaptor.getMetadata(), fieldIdx++);
182182
desc.setOffset(rewriter, loc, offsetValue);
183183
} else {
184184
desc.setConstantOffset(rewriter, loc, offset);
@@ -187,8 +187,8 @@ LogicalResult FromPtrOpConversion::matchAndRewrite(
187187
// Set dynamic sizes if needed.
188188
for (auto [i, dim] : llvm::enumerate(shape)) {
189189
if (dim == ShapedType::kDynamic) {
190-
Value sizeValue = rewriter.create<LLVM::ExtractValueOp>(
191-
loc, adaptor.getMetadata(), fieldIdx++);
190+
Value sizeValue = LLVM::ExtractValueOp::create(
191+
rewriter, loc, adaptor.getMetadata(), fieldIdx++);
192192
desc.setSize(rewriter, loc, i, sizeValue);
193193
} else {
194194
desc.setConstantSize(rewriter, loc, i, dim);
@@ -198,8 +198,8 @@ LogicalResult FromPtrOpConversion::matchAndRewrite(
198198
// Set dynamic strides if needed.
199199
for (auto [i, stride] : llvm::enumerate(strides)) {
200200
if (stride == ShapedType::kDynamic) {
201-
Value strideValue = rewriter.create<LLVM::ExtractValueOp>(
202-
loc, adaptor.getMetadata(), fieldIdx++);
201+
Value strideValue = LLVM::ExtractValueOp::create(
202+
rewriter, loc, adaptor.getMetadata(), fieldIdx++);
203203
desc.setStride(rewriter, loc, i, strideValue);
204204
} else {
205205
desc.setConstantStride(rewriter, loc, i, stride);
@@ -243,35 +243,35 @@ LogicalResult GetMetadataOpConversion::matchAndRewrite(
243243

244244
// Create a new LLVM struct to hold the metadata
245245
Location loc = op.getLoc();
246-
Value sV = rewriter.create<LLVM::UndefOp>(loc, *mdTy);
246+
Value sV = LLVM::UndefOp::create(rewriter, loc, *mdTy);
247247

248248
// First element is the allocated pointer.
249-
sV = rewriter.create<LLVM::InsertValueOp>(
250-
loc, sV, descriptor.allocatedPtr(rewriter, loc), 0);
249+
sV = LLVM::InsertValueOp::create(
250+
rewriter, loc, sV, descriptor.allocatedPtr(rewriter, loc), int64_t{0});
251251

252252
// Track the current field index.
253253
unsigned fieldIdx = 1;
254254

255255
// Add dynamic offset if needed.
256256
if (offset == ShapedType::kDynamic) {
257-
sV = rewriter.create<LLVM::InsertValueOp>(
258-
loc, sV, descriptor.offset(rewriter, loc), fieldIdx++);
257+
sV = LLVM::InsertValueOp::create(
258+
rewriter, loc, sV, descriptor.offset(rewriter, loc), fieldIdx++);
259259
}
260260

261261
// Add dynamic sizes if needed.
262262
for (auto [i, dim] : llvm::enumerate(shape)) {
263263
if (dim != ShapedType::kDynamic)
264264
continue;
265-
sV = rewriter.create<LLVM::InsertValueOp>(
266-
loc, sV, descriptor.size(rewriter, loc, i), fieldIdx++);
265+
sV = LLVM::InsertValueOp::create(
266+
rewriter, loc, sV, descriptor.size(rewriter, loc, i), fieldIdx++);
267267
}
268268

269269
// Add dynamic strides if needed
270270
for (auto [i, stride] : llvm::enumerate(strides)) {
271271
if (stride != ShapedType::kDynamic)
272272
continue;
273-
sV = rewriter.create<LLVM::InsertValueOp>(
274-
loc, sV, descriptor.stride(rewriter, loc, i), fieldIdx++);
273+
sV = LLVM::InsertValueOp::create(
274+
rewriter, loc, sV, descriptor.stride(rewriter, loc, i), fieldIdx++);
275275
}
276276
rewriter.replaceOp(op, sV);
277277
return success();

mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,8 +150,8 @@ static Value createLinalgBodyCalculationForElementwiseOp(
150150
if (shift > 0 || !shiftIsConstant) {
151151
Value shiftConst;
152152
if (shiftIsConstant)
153-
shiftConst =
154-
rewriter.create<arith::ConstantIntOp>(loc, shift, /*bitwidth=*/8);
153+
shiftConst = arith::ConstantIntOp::create(rewriter, loc, shift,
154+
/*bitwidth=*/8);
155155

156156
if (!a.getType().isInteger(32))
157157
a = arith::ExtSIOp::create(rewriter, loc, rewriter.getI32Type(), a);

mlir/lib/Dialect/LLVMIR/IR/BasicPtxBuilderInterface.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ static SmallVector<Value> extractStructElements(PatternRewriter &rewriter,
130130

131131
SmallVector<Value> elems;
132132
for (unsigned i : llvm::seq<unsigned>(0, structTy.getBody().size()))
133-
elems.push_back(rewriter.create<LLVM::ExtractValueOp>(loc, structVal, i));
133+
elems.push_back(LLVM::ExtractValueOp::create(rewriter, loc, structVal, i));
134134

135135
return elems;
136136
}

mlir/lib/Dialect/Vector/IR/VectorOps.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3452,8 +3452,8 @@ class InsertChainFullyInitialized final : public OpRewritePattern<InsertOp> {
34523452
SmallVector<Type> elementToInsertTypes(insertSize,
34533453
srcVectorType.getElementType());
34543454
// Get all elements from the vector in row-major order.
3455-
auto elementsToInsert = rewriter.create<vector::ToElementsOp>(
3456-
op.getLoc(), elementToInsertTypes, valueToStore);
3455+
auto elementsToInsert = vector::ToElementsOp::create(
3456+
rewriter, op.getLoc(), elementToInsertTypes, valueToStore);
34573457
for (int64_t linearIdx = 0; linearIdx < insertSize; linearIdx++) {
34583458
elements[insertBeginPosition + linearIdx] =
34593459
elementsToInsert.getResult(linearIdx);

mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -991,8 +991,8 @@ struct LoadDistribution final : public gpu::WarpDistributionPattern {
991991
newRetIndices, [&](size_t idx) { return newWarpOp.getResult(idx); });
992992

993993
rewriter.setInsertionPointAfter(newWarpOp);
994-
xegpu::LoadGatherOp newOp = rewriter.create<xegpu::LoadGatherOp>(
995-
newWarpOp.getLoc(), loadVecTy, newLoadGatherOperands,
994+
xegpu::LoadGatherOp newOp = xegpu::LoadGatherOp::create(
995+
rewriter, newWarpOp.getLoc(), loadVecTy, newLoadGatherOperands,
996996
loadGatherOp->getAttrs());
997997
xegpu::removeLayoutAttrs(newOp);
998998
Value distributedVal = newWarpOp.getResult(operandIdx);

mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -711,8 +711,8 @@ struct UnrollLoadMatrixOp : public UnrollPattern<xegpu::LoadMatrixOp> {
711711
SmallVector<Value> newOps;
712712
layout = layout.dropInstData();
713713
for (SmallVector<OpFoldResult> offsets : offsetsList) {
714-
auto newOp = rewriter.create<xegpu::LoadMatrixOp>(
715-
op.getLoc(), newValueTy, op.getMemDesc(), offsets, layout);
714+
auto newOp = xegpu::LoadMatrixOp::create(
715+
rewriter, op.getLoc(), newValueTy, op.getMemDesc(), offsets, layout);
716716
newOps.push_back(newOp);
717717
}
718718
Value castOp = unpack(newOps, op.getType(), *targetShape, loc, rewriter);
@@ -750,8 +750,8 @@ struct UnrollStoreMatrixOp : public UnrollPattern<xegpu::StoreMatrixOp> {
750750
}
751751

752752
for (auto [v, offsets] : llvm::zip_equal(convertedValues, offsetsList))
753-
rewriter.create<xegpu::StoreMatrixOp>(loc, v, op.getMemDesc(), offsets,
754-
layout.dropInstData());
753+
xegpu::StoreMatrixOp::create(rewriter, loc, v, op.getMemDesc(), offsets,
754+
layout.dropInstData());
755755

756756
rewriter.eraseOp(op);
757757
return success();

mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,8 @@ genOffsetsList(ConversionPatternRewriter &rewriter, OpType op,
9191
if (!layout || !layout.isForWorkgroup())
9292
return failure();
9393

94-
Value sgId = rewriter.create<gpu::SubgroupIdOp>(loc, /*upper_bound=*/nullptr);
94+
Value sgId =
95+
gpu::SubgroupIdOp::create(rewriter, loc, /*upper_bound=*/nullptr);
9596

9697
// verify and adjust the sgId if the range specifier is present
9798
xegpu::RangeAttr sgIdRange = getRangeSpecAttr(op);
@@ -105,8 +106,8 @@ genOffsetsList(ConversionPatternRewriter &rewriter, OpType op,
105106
// adjust the sgId if necessary
106107
if (startOfRange > 0) {
107108
Value startOfRangeVal =
108-
rewriter.create<arith::ConstantIndexOp>(loc, startOfRange);
109-
sgId = rewriter.create<index::SubOp>(loc, sgId, startOfRangeVal);
109+
arith::ConstantIndexOp::create(rewriter, loc, startOfRange);
110+
sgId = index::SubOp::create(rewriter, loc, sgId, startOfRangeVal);
110111
}
111112
}
112113

@@ -339,9 +340,9 @@ struct WgToSgStoreNdOpWithOffset
339340

340341
for (auto [v, tdesc, offsets] :
341342
llvm::zip(adaptor.getValue(), adaptor.getTensorDesc(), offsetsList)) {
342-
rewriter.create<xegpu::StoreNdOp>(op.getLoc(), v, tdesc, offsets,
343-
op.getL1HintAttr(), op.getL2HintAttr(),
344-
op.getL3HintAttr());
343+
xegpu::StoreNdOp::create(rewriter, op.getLoc(), v, tdesc, offsets,
344+
op.getL1HintAttr(), op.getL2HintAttr(),
345+
op.getL3HintAttr());
345346
}
346347
rewriter.eraseOp(op);
347348

@@ -363,9 +364,9 @@ struct WgToSgPrefetchNdOpWithOffset
363364

364365
for (auto [tdesc, offsets] :
365366
llvm::zip(adaptor.getTensorDesc(), offsetsList)) {
366-
rewriter.create<xegpu::PrefetchNdOp>(
367-
op.getLoc(), tdesc, offsets, op.getL1HintAttr(), op.getL2HintAttr(),
368-
op.getL3HintAttr());
367+
xegpu::PrefetchNdOp::create(rewriter, op.getLoc(), tdesc, offsets,
368+
op.getL1HintAttr(), op.getL2HintAttr(),
369+
op.getL3HintAttr());
369370
}
370371
rewriter.eraseOp(op);
371372

@@ -807,8 +808,8 @@ struct WgToSgLoadGatherOpWithOffset
807808
VectorType newTy = VectorType::get(sgShape, resultType.getElementType());
808809
for (auto [offsets, mask] :
809810
llvm::zip(adaptor.getOffsets(), adaptor.getMask())) {
810-
auto newLoadOp = rewriter.create<xegpu::LoadGatherOp>(
811-
loc, newTy, op.getSource(), offsets, mask, chunkSizeAttr,
811+
auto newLoadOp = xegpu::LoadGatherOp::create(
812+
rewriter, loc, newTy, op.getSource(), offsets, mask, chunkSizeAttr,
812813
op.getL1HintAttr(), op.getL2HintAttr(), op.getL3HintAttr());
813814
xegpu::setDistributeLayoutAttr(newLoadOp->getResult(0),
814815
layout.dropSgLayoutAndData());
@@ -857,9 +858,9 @@ struct WgToSgStoreScatterOpWithOffset
857858
auto chunkSizeAttr = rewriter.getI64IntegerAttr(chunkSize);
858859
for (auto [val, offs, mask] : llvm::zip(
859860
adaptor.getValue(), adaptor.getOffsets(), adaptor.getMask())) {
860-
rewriter.create<xegpu::StoreScatterOp>(
861-
loc, val, op.getDest(), offs, mask, chunkSizeAttr, op.getL1HintAttr(),
862-
op.getL2HintAttr(), op.getL3HintAttr());
861+
xegpu::StoreScatterOp::create(rewriter, loc, val, op.getDest(), offs,
862+
mask, chunkSizeAttr, op.getL1HintAttr(),
863+
op.getL2HintAttr(), op.getL3HintAttr());
863864
// Update the layout attribute to drop sg_layout and sg_data.
864865
if (auto newLayout = layout.dropSgLayoutAndData())
865866
op->setAttr("layout", newLayout);
@@ -888,9 +889,9 @@ struct WgToSgLoadMatrixOp : public OpConversionPattern<xegpu::LoadMatrixOp> {
888889
VectorType newResTy = VectorType::get(sgShape, elemTy);
889890
SmallVector<Value> newOps;
890891
for (auto offsets : offsetsList) {
891-
auto newOp = rewriter.create<xegpu::LoadMatrixOp>(
892-
op.getLoc(), newResTy, op.getMemDesc(), offsets,
893-
layout.dropSgLayoutAndData());
892+
auto newOp = xegpu::LoadMatrixOp::create(rewriter, op.getLoc(), newResTy,
893+
op.getMemDesc(), offsets,
894+
layout.dropSgLayoutAndData());
894895
newOps.push_back(newOp);
895896
}
896897
rewriter.replaceOpWithMultiple(op, {newOps});
@@ -911,9 +912,8 @@ struct WgToSgStoreMatrixOp : public OpConversionPattern<xegpu::StoreMatrixOp> {
911912

912913
xegpu::DistributeLayoutAttr layout = op.getLayoutAttr();
913914
for (auto [v, offsets] : llvm::zip(adaptor.getData(), offsetsList))
914-
rewriter.create<xegpu::StoreMatrixOp>(op.getLoc(), v, op.getMemDesc(),
915-
offsets,
916-
layout.dropSgLayoutAndData());
915+
xegpu::StoreMatrixOp::create(rewriter, op.getLoc(), v, op.getMemDesc(),
916+
offsets, layout.dropSgLayoutAndData());
917917
rewriter.eraseOp(op);
918918
return success();
919919
}

mlir/lib/Target/Wasm/TranslateFromWasm.cpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -571,7 +571,7 @@ class ParserHead {
571571
if (failed(varT))
572572
return failure();
573573
for (size_t j = 0; j < *nSubVar; ++j) {
574-
auto local = builder.create<LocalOp>(varLoc, *varT);
574+
auto local = LocalOp::create(builder, varLoc, *varT);
575575
locals.push_back(local.getResult());
576576
}
577577
}
@@ -581,7 +581,7 @@ class ParserHead {
581581
if (!cParser.end())
582582
return emitError(cParser.getLocation(),
583583
"unparsed garbage remaining at end of code block");
584-
builder.create<ReturnOp>(func->getLoc(), *res);
584+
ReturnOp::create(builder, func->getLoc(), *res);
585585
returnOp->erase();
586586
return success();
587587
}
@@ -802,7 +802,7 @@ inline parsed_inst_t ExpressionParser::parseSpecificInstruction<
802802
if (*id >= locals.size())
803803
return emitError(instLoc, "invalid local index. function has ")
804804
<< locals.size() << " accessible locals, received index " << *id;
805-
return {{builder.create<LocalGetOp>(instLoc, locals[*id]).getResult()}};
805+
return {{LocalGetOp::create(builder, instLoc, locals[*id]).getResult()}};
806806
}
807807

808808
template <>
@@ -817,8 +817,8 @@ inline parsed_inst_t ExpressionParser::parseSpecificInstruction<
817817
<< symbols.globalSymbols.size()
818818
<< " accessible globals, received index " << *id;
819819
GlobalSymbolRefContainer globalVar = symbols.globalSymbols[*id];
820-
auto globalOp = builder.create<GlobalGetOp>(instLoc, globalVar.globalType,
821-
globalVar.symbol);
820+
auto globalOp = GlobalGetOp::create(builder, instLoc, globalVar.globalType,
821+
globalVar.symbol);
822822

823823
return {{globalOp.getResult()}};
824824
}
@@ -840,7 +840,7 @@ parsed_inst_t ExpressionParser::parseSetOrTee(OpBuilder &builder) {
840840
if (failed(poppedOp))
841841
return failure();
842842
return {
843-
builder.create<OpToCreate>(*currentOpLoc, locals[*id], poppedOp->front())
843+
OpToCreate::create(builder, *currentOpLoc, locals[*id], poppedOp->front())
844844
->getResults()};
845845
}
846846

@@ -960,7 +960,7 @@ inline parsed_inst_t ExpressionParser::buildNumericOp(
960960
auto operands = popOperands(tysToPop);
961961
if (failed(operands))
962962
return failure();
963-
auto op = builder.create<opcode>(*currentOpLoc, *operands).getResult();
963+
auto op = opcode::create(builder, *currentOpLoc, *operands).getResult();
964964
LDBG() << "Built operation: " << op;
965965
return {{op}};
966966
}
@@ -1475,8 +1475,8 @@ WasmBinaryParser::parseSectionItem<WasmSectionType::GLOBAL>(ParserHead &ph,
14751475

14761476
GlobalTypeRecord globalType = *globalTypeParsed;
14771477
auto symbol = builder.getStringAttr(symbols.getNewGlobalSymbolName());
1478-
auto globalOp = builder.create<wasmssa::GlobalOp>(
1479-
globalLocation, symbol, globalType.type, globalType.isMutable);
1478+
auto globalOp = wasmssa::GlobalOp::create(
1479+
builder, globalLocation, symbol, globalType.type, globalType.isMutable);
14801480
symbols.globalSymbols.push_back(
14811481
{{FlatSymbolRefAttr::get(globalOp)}, globalOp.getType()});
14821482
OpBuilder::InsertionGuard guard{builder};
@@ -1491,7 +1491,7 @@ WasmBinaryParser::parseSectionItem<WasmSectionType::GLOBAL>(ParserHead &ph,
14911491
return emitError(
14921492
globalLocation,
14931493
"initializer result type does not match global declaration type");
1494-
builder.create<ReturnOp>(globalLocation, *expr);
1494+
ReturnOp::create(builder, globalLocation, *expr);
14951495
return success();
14961496
}
14971497

0 commit comments

Comments
 (0)