diff --git a/mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td b/mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td --- a/mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td +++ b/mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td @@ -293,13 +293,13 @@ ```mlir sparse_tensor.compress %0, %1, %values, %filled, %added, %2 : tensor<4x4xf64, #CSR>, memref, memref, - memref, memref, index + memref, memref, index ``` }]; let assemblyFormat = "$tensor `,` $indices `,` $values `,` $filled `,`" - " $added `,` $count attr-dict `:` type($tensor) `,`" - " type($indices) `,` type($values) `,` type($filled) `,`" - " type($added) `,` type($count)"; + " $added `,` $count attr-dict `:` type($tensor) `,`" + " type($indices) `,` type($values) `,` type($filled) `,`" + " type($added) `,` type($count)"; } def SparseTensor_LoadOp : SparseTensor_Op<"load", [SameOperandsAndResultType]>, @@ -395,8 +395,9 @@ ```mlir %C = bufferization.alloc_tensor... %0 = linalg.generic #trait - ins(%A: tensor, %B: tensor) - outs(%C: tensor) { + ins(%A: tensor, + %B: tensor) + outs(%C: tensor) { ^bb0(%a: f64, %b: f64, %c: i8) : %result = sparse_tensor.binary %a, %b : f64, f64 to i8 overlap={ @@ -408,7 +409,7 @@ left={} right={} linalg.yield %result : i8 - } -> tensor + } -> tensor ``` Example of A+B in upper triangle, A-B in lower triangle: @@ -497,8 +498,8 @@ ```mlir %C = bufferization.alloc_tensor... %0 = linalg.generic #trait - ins(%A: tensor) - outs(%C: tensor) { + ins(%A: tensor) + outs(%C: tensor) { ^bb0(%a: f64, %c: f64) : %result = sparse_tensor.unary %a : f64 to f64 present={ @@ -509,7 +510,7 @@ } absent={} linalg.yield %result : f64 - } -> tensor + } -> tensor ``` Example returning +1 for existing values and -1 for missing values: @@ -574,8 +575,8 @@ %cf100 = arith.constant 100.0 : f64 %C = bufferization.alloc_tensor... %0 = linalg.generic #trait - ins(%A: tensor) - outs(%C: tensor) { + ins(%A: tensor) + outs(%C: tensor) { ^bb0(%a: f64, %c: f64) : %result = sparse_tensor.reduce %c, %a, %cf1 : f64 { ^bb0(%arg0: f64, %arg1: f64): @@ -585,7 +586,7 @@ sparse_tensor.yield %ret : f64 } linalg.yield %result : f64 - } -> tensor + } -> tensor ``` }];