forked from OSchip/llvm-project
[mlir][spirv] NFC: simplify load/store builder call sites
This commit introduces default values for load/store builders to simplify builder call sites. Differential Revision: https://reviews.llvm.org/D73419
This commit is contained in:
parent
91d6655a29
commit
09f9deaff2
|
@ -262,9 +262,13 @@ def SPV_LoadOp : SPV_Op<"Load", []> {
|
|||
SPV_Type:$value
|
||||
);
|
||||
|
||||
let builders = [OpBuilder<[{Builder *builder, OperationState &state,
|
||||
Value basePtr, /*optional*/IntegerAttr memory_access,
|
||||
/*optional*/IntegerAttr alignment}]>];
|
||||
let builders = [
|
||||
OpBuilder<[{
|
||||
Builder *builder, OperationState &state,
|
||||
Value basePtr, IntegerAttr memory_access = {},
|
||||
IntegerAttr alignment = {}
|
||||
}]>
|
||||
];
|
||||
}
|
||||
|
||||
// -----
|
||||
|
@ -358,7 +362,7 @@ def SPV_StoreOp : SPV_Op<"Store", []> {
|
|||
|
||||
let builders = [
|
||||
OpBuilder<"Builder *builder, OperationState &state, "
|
||||
"Value ptr, Value value, ArrayRef<NamedAttribute> namedAttrs", [{
|
||||
"Value ptr, Value value, ArrayRef<NamedAttribute> namedAttrs = {}", [{
|
||||
state.addOperands(ptr);
|
||||
state.addOperands(value);
|
||||
state.addAttributes(namedAttrs);
|
||||
|
|
|
@ -334,9 +334,7 @@ LoadOpConversion::matchAndRewrite(LoadOp loadOp, ArrayRef<Value> operands,
|
|||
auto loadPtr = getElementPtr(rewriter, typeConverter, loadOp.getLoc(),
|
||||
loadOp.memref().getType().cast<MemRefType>(),
|
||||
loadOperands.memref(), loadOperands.indices());
|
||||
rewriter.replaceOpWithNewOp<spirv::LoadOp>(loadOp, loadPtr,
|
||||
/*memory_access =*/nullptr,
|
||||
/*alignment =*/nullptr);
|
||||
rewriter.replaceOpWithNewOp<spirv::LoadOp>(loadOp, loadPtr);
|
||||
return matchSuccess();
|
||||
}
|
||||
|
||||
|
@ -381,9 +379,7 @@ StoreOpConversion::matchAndRewrite(StoreOp storeOp, ArrayRef<Value> operands,
|
|||
storeOp.memref().getType().cast<MemRefType>(),
|
||||
storeOperands.memref(), storeOperands.indices());
|
||||
rewriter.replaceOpWithNewOp<spirv::StoreOp>(storeOp, storePtr,
|
||||
storeOperands.value(),
|
||||
/*memory_access =*/nullptr,
|
||||
/*alignment =*/nullptr);
|
||||
storeOperands.value());
|
||||
return matchSuccess();
|
||||
}
|
||||
|
||||
|
|
|
@ -288,9 +288,7 @@ Value mlir::spirv::getBuiltinVariableValue(Operation *op,
|
|||
spirv::GlobalVariableOp varOp =
|
||||
getOrInsertBuiltinVariable(moduleOp, op->getLoc(), builtin, builder);
|
||||
Value ptr = builder.create<spirv::AddressOfOp>(op->getLoc(), varOp);
|
||||
return builder.create<spirv::LoadOp>(op->getLoc(), ptr,
|
||||
/*memory_access =*/nullptr,
|
||||
/*alignment =*/nullptr);
|
||||
return builder.create<spirv::LoadOp>(op->getLoc(), ptr);
|
||||
}
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -191,9 +191,7 @@ FuncOpLowering::matchAndRewrite(FuncOp funcOp, ArrayRef<Value> operands,
|
|||
spirv::ConstantOp::getZero(indexType, funcOp.getLoc(), &rewriter);
|
||||
auto loadPtr = rewriter.create<spirv::AccessChainOp>(
|
||||
funcOp.getLoc(), replacement, zero.constant());
|
||||
replacement = rewriter.create<spirv::LoadOp>(funcOp.getLoc(), loadPtr,
|
||||
/*memory_access=*/nullptr,
|
||||
/*alignment=*/nullptr);
|
||||
replacement = rewriter.create<spirv::LoadOp>(funcOp.getLoc(), loadPtr);
|
||||
}
|
||||
signatureConverter.remapInput(argType.index(), replacement);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue