[mlir][spirv] NFC: simplify load/store builder call sites
authorLei Zhang <antiagainst@google.com>
Sat, 25 Jan 2020 15:58:18 +0000 (10:58 -0500)
committerLei Zhang <antiagainst@google.com>
Sun, 26 Jan 2020 15:45:42 +0000 (10:45 -0500)
This commit introduces default values for load/store builders to
simplify builder call sites.

Differential Revision: https://reviews.llvm.org/D73419

mlir/include/mlir/Dialect/SPIRV/SPIRVOps.td
mlir/lib/Conversion/StandardToSPIRV/ConvertStandardToSPIRV.cpp
mlir/lib/Dialect/SPIRV/SPIRVLowering.cpp
mlir/lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp

index 8b16fcd77be1a824ebd023237200565b1111fd42..3334995cc9fe7f29f63ce3fdad18040b94fef9c1 100644 (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);
index d1011dcae0dd940370936f7e5e75188a28dc2838..0eefa02abf7dc22f50d15582f8e2c4490a71de1d 100644 (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();
 }
 
index 100d4c95fcb35811d60ee7b295db932870372cab..35eb7e1e00a2a9387c9845f7498601ffa188e6c2 100644 (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);
 }
 
 //===----------------------------------------------------------------------===//
index d8163a7a934c1f9f7a05b7a3295b894d69cd7eb3..a4234faf863c9efbdd31339951b20300b6e9ef3b 100644 (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);
   }