[mlir] Expose `updateBoundsForCyclicDistribution` in Linalg/Utils.h.
authorAlexander Belyaev <pifon@google.com>
Thu, 15 Apr 2021 17:49:43 +0000 (19:49 +0200)
committerAlexander Belyaev <pifon@google.com>
Thu, 15 Apr 2021 18:47:37 +0000 (20:47 +0200)
Differential Revision: https://reviews.llvm.org/D100580

mlir/include/mlir/Dialect/Linalg/Utils/Utils.h
mlir/lib/Dialect/Linalg/Utils/Utils.cpp

index 4ee63a9..ba41e86 100644 (file)
@@ -208,6 +208,11 @@ struct LinalgLoopDistributionOptions {
   SmallVector<DistributionMethod, 0> distributionMethod = {};
 };
 
+/// Update the `lb`, `ub` and `step` to get per processor `lb`, `ub` and `step`.
+void updateBoundsForCyclicDistribution(OpBuilder &builder, Location loc,
+                                       Value procId, Value nprocs, Value &lb,
+                                       Value &ub, Value &step);
+
 //===----------------------------------------------------------------------===//
 // Generic op region utilities
 //===----------------------------------------------------------------------===//
index 8c8b0cf..1aa47ea 100644 (file)
@@ -241,10 +241,9 @@ void GenerateLoopNest<AffineForOp>::doit(
 }
 
 /// Update the `lb`, `ub` and `step` to get per processor `lb`, `ub` and `step`.
-static void updateBoundsForCyclicDistribution(OpBuilder &builder, Location loc,
-                                              Value procId, Value nprocs,
-                                              Value &lb, Value &ub,
-                                              Value &step) {
+void updateBoundsForCyclicDistribution(OpBuilder &builder, Location loc,
+                                       Value procId, Value nprocs, Value &lb,
+                                       Value &ub, Value &step) {
   using edsc::op::operator+;
   using edsc::op::operator*;
   lb = lb + (procId * step);