diff --git a/mlir/include/mlir/Dialect/Linalg/Transforms/LinalgTransforms.h b/mlir/include/mlir/Dialect/Linalg/Transforms/LinalgTransforms.h --- a/mlir/include/mlir/Dialect/Linalg/Transforms/LinalgTransforms.h +++ b/mlir/include/mlir/Dialect/Linalg/Transforms/LinalgTransforms.h @@ -49,10 +49,10 @@ // success. //////////////////////////////////////////////////////////////////////////////// -/// Tiles `op` by `sizes` permuting the loops according to `permutation` -/// and sets the attribute `kLinalgTransformMarker` to `linalgMarker`. -/// The permutation is expressed as a list of integers that specify -/// the new ordering of the loop nest. The length of `permutation` +/// Tiles `op` by `sizes` permuting the loops according to `permutation` and +/// sets the attribute `kLinalgTransformMarker` to `linalgMarker`. The +/// permutation is expressed as a list of integers that specify the new ordering +/// of the loop nest (using loop.for operations). The length of `permutation` /// must be equal to the length of `tileSizes`. /// E.g. the permutation `(i,j,k) -> (j,k,i)` will be expressed with /// `permutation = [1,2,0]`. All values in `permutation` must be @@ -63,6 +63,9 @@ ArrayRef sizes, StringRef linalgMarker, ArrayRef permutation); + +/// Tiles ops similar to `tileLinalgOpAndSetMarker` but generates loop.parallel +/// operations instead. LogicalResult tileLinalgOpToParallelLoopsAndSetMarker( PatternRewriter &rewriter, Operation *op, ArrayRef sizes, StringRef linalgMarker, ArrayRef permutation); @@ -72,6 +75,9 @@ LogicalResult tileAndFuseLinalgOpAndSetMarker( PatternRewriter &rewriter, Operation *op, ArrayRef sizes, ArrayRef operandIndicesToFuse, StringRef linalgMarker); + +/// Tiles ops similar to `tileAndFuseLinalgOpAndSetMarker` but generates +/// loop.parallel operations instead. LogicalResult tileAndFuseLinalgOpToParallelLoopsAndSetMarker( PatternRewriter &rewriter, Operation *op, ArrayRef sizes, ArrayRef operandIndicesToFuse, StringRef linalgMarker);