[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:
Lei Zhang 2020-01-25 10:58:18 -05:00
parent 91d6655a29
commit 09f9deaff2
4 changed files with 12 additions and 16 deletions

View File

@ -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);

View File

@ -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();
}

View File

@ -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);
}
//===----------------------------------------------------------------------===//

View File

@ -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);
}