Skip to content

Commit ce5c702

Browse files
committed
[mlir][linalg][nfc] Fix formatting for linalg.elementwise
Follow-up to #124661 to address minor formatting inconsistencies. **Changes:** 1. Standardized test file names by using hyphens (`-`) instead of underscores (`_`). 2. Renamed `"round-trip.mlir"` to `"roundtrip.mlir"` for consistency with similar tests. 3. Normalized indentation. For **(3)**, I ensured we follow the pre-existing formatting style introduced with `linalg.generic`, where all new lines are indented by **8 spaces**. Thus, the formatting is now: ```mlir %r = linalg.elementwise kind=#linalg.elementwise_kind<sub> indexing_maps = [affine_map<(d0, d1) -> (d1, d0)>, affine_map<(d0, d1) -> (d0, d1)>, affine_map<(d0, d1) -> (d0, d1)>] ins(%A, %B: tensor<8x16xf32>, tensor<16x8xf32>) outs(%C: tensor<16x8xf32>) -> tensor<16x8xf32> ``` instead of: ```mlir %r = linalg.elementwise kind=#linalg.elementwise_kind<sub> indexing_maps = [affine_map<(d0, d1) -> (d1, d0)>, affine_map<(d0, d1) -> (d0, d1)>, affine_map<(d0, d1) -> (d0, d1)>] ins(%A, %B: tensor<8x16xf32>, tensor<16x8xf32>) outs(%C: tensor<16x8xf32>) -> tensor<16x8xf32> ``` Submitting this without a review, as these are straightforward changes, and I want to reduce PR traffic/noise. However, please let me know if you prefer changes like these to go through a formal PR review.
1 parent 6dca33c commit ce5c702

File tree

4 files changed

+65
-65
lines changed

4 files changed

+65
-65
lines changed

mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -566,20 +566,20 @@ def ElementwiseOp : LinalgStructuredBase_Op<"elementwise", [
566566
Example:
567567

568568
Defining a unary linalg.elemwise with default indexing-map:
569-
```mlir
570-
%exp = linalg.elemwise
571-
kind=#linalg.elemwise_kind<exp>
572-
ins(%x : tensor<4x16x8xf32>)
573-
outs(%y: tensor<4x16x8xf32>) -> tensor<4x16x8xf32>
574-
```
569+
```mlir
570+
%exp = linalg.elemwise
571+
kind=#linalg.elemwise_kind<exp>
572+
ins(%x : tensor<4x16x8xf32>)
573+
outs(%y: tensor<4x16x8xf32>) -> tensor<4x16x8xf32>
574+
```
575575

576576
Defining a binary linalg.elemwise with user-defined indexing-map:
577577
```mlir
578578
%add = linalg.elemwise
579-
kind=#linalg.elemwise_kind<add>
580-
indexing_maps = [#transpose, #broadcast, #identity]
581-
ins(%exp, %arg1 : tensor<4x16x8xf32>, tensor<4x16xf32>)
582-
outs(%arg2: tensor<4x8x16xf32>) -> tensor<4x8x16xf32>
579+
kind=#linalg.elemwise_kind<add>
580+
indexing_maps = [#transpose, #broadcast, #identity]
581+
ins(%exp, %arg1 : tensor<4x16x8xf32>, tensor<4x16xf32>)
582+
outs(%arg2: tensor<4x8x16xf32>) -> tensor<4x8x16xf32>
583583
```
584584
}];
585585

mlir/test/Dialect/Linalg/elementwise/generalize_named_ops.mlir renamed to mlir/test/Dialect/Linalg/elementwise/generalize-named-ops.mlir

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@
1414
//
1515
func.func @unary_exp(%A : tensor<8x16x32xf32>, %B: tensor<8x16x32xf32>) -> tensor<8x16x32xf32> {
1616
%r = linalg.elementwise
17-
kind=#linalg.elementwise_kind<exp>
18-
ins(%A : tensor<8x16x32xf32>)
19-
outs(%B: tensor<8x16x32xf32>) -> tensor<8x16x32xf32>
17+
kind=#linalg.elementwise_kind<exp>
18+
ins(%A : tensor<8x16x32xf32>)
19+
outs(%B: tensor<8x16x32xf32>) -> tensor<8x16x32xf32>
2020
return %r : tensor<8x16x32xf32>
2121
}
2222
// -----
@@ -36,11 +36,11 @@ func.func @unary_exp(%A : tensor<8x16x32xf32>, %B: tensor<8x16x32xf32>) -> tens
3636
//
3737
func.func @unary_transpose_broadcast_tanh(%A : tensor<32x16xf32>, %B: tensor<8x16x32xf32>) -> tensor<8x16x32xf32> {
3838
%r = linalg.elementwise
39-
kind=#linalg.elementwise_kind<tanh>
40-
indexing_maps = [affine_map<(d0, d1, d2) -> (d2, d1)>,
41-
affine_map<(d0, d1, d2) -> (d0, d1, d2)>]
42-
ins(%A : tensor<32x16xf32>)
43-
outs(%B: tensor<8x16x32xf32>) -> tensor<8x16x32xf32>
39+
kind=#linalg.elementwise_kind<tanh>
40+
indexing_maps = [affine_map<(d0, d1, d2) -> (d2, d1)>,
41+
affine_map<(d0, d1, d2) -> (d0, d1, d2)>]
42+
ins(%A : tensor<32x16xf32>)
43+
outs(%B: tensor<8x16x32xf32>) -> tensor<8x16x32xf32>
4444
return %r : tensor<8x16x32xf32>
4545
}
4646
// -----
@@ -59,9 +59,9 @@ func.func @unary_transpose_broadcast_tanh(%A : tensor<32x16xf32>, %B: tensor<8x1
5959
//
6060
func.func @binary_div_on_memrefs(%A : memref<16x8xf32>, %B: memref<16x8xf32>, %C: memref<16x8xf32>) {
6161
linalg.elementwise
62-
kind=#linalg.elementwise_kind<div>
63-
ins(%A, %B: memref<16x8xf32>, memref<16x8xf32>)
64-
outs(%C: memref<16x8xf32>)
62+
kind=#linalg.elementwise_kind<div>
63+
ins(%A, %B: memref<16x8xf32>, memref<16x8xf32>)
64+
outs(%C: memref<16x8xf32>)
6565
return
6666
}
6767
// -----
@@ -80,9 +80,9 @@ func.func @binary_div_on_memrefs(%A : memref<16x8xf32>, %B: memref<16x8xf32>, %C
8080
//
8181
func.func @binary_mul_on_tensors(%A : tensor<16x8xf32>, %B: tensor<16x8xf32>, %C: tensor<16x8xf32>) -> tensor<16x8xf32> {
8282
%r = linalg.elementwise
83-
kind=#linalg.elementwise_kind<mul>
84-
ins(%A, %B: tensor<16x8xf32>, tensor<16x8xf32>)
85-
outs(%C: tensor<16x8xf32>) -> tensor<16x8xf32>
83+
kind=#linalg.elementwise_kind<mul>
84+
ins(%A, %B: tensor<16x8xf32>, tensor<16x8xf32>)
85+
outs(%C: tensor<16x8xf32>) -> tensor<16x8xf32>
8686
return %r : tensor<16x8xf32>
8787
}
8888
// -----
@@ -102,12 +102,12 @@ func.func @binary_mul_on_tensors(%A : tensor<16x8xf32>, %B: tensor<16x8xf32>, %C
102102
//
103103
func.func @binary_transpose_a(%A : tensor<8x16xf32>, %B: tensor<16x8xf32>, %C: tensor<16x8xf32>) -> tensor<16x8xf32> {
104104
%r = linalg.elementwise
105-
kind=#linalg.elementwise_kind<sub>
106-
indexing_maps = [affine_map<(d0, d1) -> (d1, d0)>,
107-
affine_map<(d0, d1) -> (d0, d1)>,
108-
affine_map<(d0, d1) -> (d0, d1)>]
109-
ins(%A, %B: tensor<8x16xf32>, tensor<16x8xf32>)
110-
outs(%C: tensor<16x8xf32>) -> tensor<16x8xf32>
105+
kind=#linalg.elementwise_kind<sub>
106+
indexing_maps = [affine_map<(d0, d1) -> (d1, d0)>,
107+
affine_map<(d0, d1) -> (d0, d1)>,
108+
affine_map<(d0, d1) -> (d0, d1)>]
109+
ins(%A, %B: tensor<8x16xf32>, tensor<16x8xf32>)
110+
outs(%C: tensor<16x8xf32>) -> tensor<16x8xf32>
111111
return %r : tensor<16x8xf32>
112112
}
113113
// -----
@@ -128,12 +128,12 @@ func.func @binary_transpose_a(%A : tensor<8x16xf32>, %B: tensor<16x8xf32>, %C: t
128128
//
129129
func.func @binary_transpose_a_broadcast_b(%A : tensor<8x16xf32>, %B: tensor<16xf32>, %C: tensor<16x8xf32>) -> tensor<16x8xf32> {
130130
%r = linalg.elementwise
131-
kind=#linalg.elementwise_kind<add>
132-
indexing_maps = [affine_map<(d0, d1) -> (d1, d0)>,
133-
affine_map<(d0, d1) -> (d0)>,
134-
affine_map<(d0, d1) -> (d0, d1)>]
135-
ins(%A, %B: tensor<8x16xf32>, tensor<16xf32>)
136-
outs(%C: tensor<16x8xf32>) -> tensor<16x8xf32>
131+
kind=#linalg.elementwise_kind<add>
132+
indexing_maps = [affine_map<(d0, d1) -> (d1, d0)>,
133+
affine_map<(d0, d1) -> (d0)>,
134+
affine_map<(d0, d1) -> (d0, d1)>]
135+
ins(%A, %B: tensor<8x16xf32>, tensor<16xf32>)
136+
outs(%C: tensor<16x8xf32>) -> tensor<16x8xf32>
137137
return %r : tensor<16x8xf32>
138138
}
139139
// -----
@@ -154,12 +154,12 @@ func.func @binary_transpose_a_broadcast_b(%A : tensor<8x16xf32>, %B: tensor<16xf
154154
//
155155
func.func @ternary(%A : tensor<32x16xi1>, %B: tensor<8x16x32xf32>, %C : tensor<8x16x32xf32>, %D : tensor<8x16x32xf32>) -> tensor<8x16x32xf32> {
156156
%r = linalg.elementwise
157-
kind=#linalg.elementwise_kind<select>
158-
indexing_maps = [affine_map<(d0, d1, d2) -> (d2, d1)>,
159-
affine_map<(d0, d1, d2) -> (d0, d1, d2)>,
160-
affine_map<(d0, d1, d2) -> (d0, d1, d2)>,
161-
affine_map<(d0, d1, d2) -> (d0, d1, d2)>]
162-
ins(%A, %B, %C : tensor<32x16xi1>, tensor<8x16x32xf32>, tensor<8x16x32xf32>)
163-
outs(%D: tensor<8x16x32xf32>) -> tensor<8x16x32xf32>
157+
kind=#linalg.elementwise_kind<select>
158+
indexing_maps = [affine_map<(d0, d1, d2) -> (d2, d1)>,
159+
affine_map<(d0, d1, d2) -> (d0, d1, d2)>,
160+
affine_map<(d0, d1, d2) -> (d0, d1, d2)>,
161+
affine_map<(d0, d1, d2) -> (d0, d1, d2)>]
162+
ins(%A, %B, %C : tensor<32x16xi1>, tensor<8x16x32xf32>, tensor<8x16x32xf32>)
163+
outs(%D: tensor<8x16x32xf32>) -> tensor<8x16x32xf32>
164164
return %r : tensor<8x16x32xf32>
165-
}
165+
}

mlir/test/Dialect/Linalg/elementwise/invalid.mlir

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ func.func @unary_too_many_args(%A : memref<8x16x32xf32>, %B: memref<8x16x32xf32>
4141
// expected-error@+3 {{custom op 'linalg.elementwise' [parseNamedStructuredOpRegion] ods-gen generated region expects 2 args, got 3}}
4242
// expected-error@+2 {{custom op 'linalg.elementwise' unable to parse elemwise op}}
4343
linalg.elementwise kind=#linalg.elementwise_kind<exp> ins(%A, %B : memref<8x16x32xf32>, memref<8x16x32xf32>) outs(%C: memref<8x16x32xf32>)
44-
return
44+
return
4545
}
4646

4747
// -----
@@ -50,5 +50,5 @@ func.func @binary_too_few_args(%A : memref<8x16x32xf32>, %B: memref<8x16x32xf32>
5050
// expected-error@+3 {{custom op 'linalg.elementwise' [parseNamedStructuredOpRegion] ods-gen generated region expects 3 args, got 2}}
5151
// expected-error@+2 {{custom op 'linalg.elementwise' unable to parse elemwise op}}
5252
linalg.elementwise kind=#linalg.elementwise_kind<add> ins(%A : memref<8x16x32xf32>) outs(%B: memref<8x16x32xf32>)
53-
return
54-
}
53+
return
54+
}

mlir/test/Dialect/Linalg/elementwise/round-trip.mlir renamed to mlir/test/Dialect/Linalg/elementwise/roundtrip.mlir

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
//
99
func.func @unary_identity_exp(%A : tensor<8x16x32xf32>, %B: tensor<8x16x32xf32>) -> tensor<8x16x32xf32> {
1010
%r = linalg.elementwise
11-
kind=#linalg.elementwise_kind<exp>
12-
ins(%A : tensor<8x16x32xf32>)
13-
outs(%B: tensor<8x16x32xf32>) -> tensor<8x16x32xf32>
11+
kind=#linalg.elementwise_kind<exp>
12+
ins(%A : tensor<8x16x32xf32>)
13+
outs(%B: tensor<8x16x32xf32>) -> tensor<8x16x32xf32>
1414
return %r : tensor<8x16x32xf32>
1515
}
1616

@@ -28,11 +28,11 @@ func.func @unary_identity_exp(%A : tensor<8x16x32xf32>, %B: tensor<8x16x32xf32>)
2828
func.func @unary_projection_tanh(%A: tensor<?x16xf32>,
2929
%B: tensor<8x16x?xf32>) -> tensor<8x16x?xf32> {
3030
%r = linalg.elementwise
31-
kind=#linalg.elementwise_kind<tanh>
32-
indexing_maps = [affine_map<(d0, d1, d2) -> (d2, d1)>,
33-
affine_map<(d0, d1, d2) -> (d0, d1, d2)>]
34-
ins(%A : tensor<?x16xf32>)
35-
outs(%B: tensor<8x16x?xf32>) -> tensor<8x16x?xf32>
31+
kind=#linalg.elementwise_kind<tanh>
32+
indexing_maps = [affine_map<(d0, d1, d2) -> (d2, d1)>,
33+
affine_map<(d0, d1, d2) -> (d0, d1, d2)>]
34+
ins(%A : tensor<?x16xf32>)
35+
outs(%B: tensor<8x16x?xf32>) -> tensor<8x16x?xf32>
3636
return %r : tensor<8x16x?xf32>
3737
}
3838

@@ -48,9 +48,9 @@ func.func @unary_projection_tanh(%A: tensor<?x16xf32>,
4848
func.func @binary_identity_div(%A: tensor<16x8xf32>, %B: tensor<16x8xf32>,
4949
%C: tensor<16x8xf32>) -> tensor<16x8xf32> {
5050
%r = linalg.elementwise
51-
kind=#linalg.elementwise_kind<div>
52-
ins(%A, %B: tensor<16x8xf32>, tensor<16x8xf32>)
53-
outs(%C: tensor<16x8xf32>) -> tensor<16x8xf32>
51+
kind=#linalg.elementwise_kind<div>
52+
ins(%A, %B: tensor<16x8xf32>, tensor<16x8xf32>)
53+
outs(%C: tensor<16x8xf32>) -> tensor<16x8xf32>
5454
return %r : tensor<16x8xf32>
5555
}
5656

@@ -67,9 +67,9 @@ func.func @binary_identity_div(%A: tensor<16x8xf32>, %B: tensor<16x8xf32>,
6767
func.func @binary_identity_mul_5Di(%A: tensor<1x2x3x4x5xi32>, %B: tensor<1x2x3x4x5xi32>,
6868
%C: tensor<1x2x3x4x5xi32>) -> tensor<1x2x3x4x5xi32> {
6969
%r = linalg.elementwise
70-
kind=#linalg.elementwise_kind<mul>
71-
ins(%A, %B: tensor<1x2x3x4x5xi32>, tensor<1x2x3x4x5xi32>)
72-
outs(%C: tensor<1x2x3x4x5xi32>) -> tensor<1x2x3x4x5xi32>
70+
kind=#linalg.elementwise_kind<mul>
71+
ins(%A, %B: tensor<1x2x3x4x5xi32>, tensor<1x2x3x4x5xi32>)
72+
outs(%C: tensor<1x2x3x4x5xi32>) -> tensor<1x2x3x4x5xi32>
7373
return %r : tensor<1x2x3x4x5xi32>
7474
}
7575

@@ -82,9 +82,9 @@ func.func @binary_identity_mul_5Di(%A: tensor<1x2x3x4x5xi32>, %B: tensor<1x2x3x4
8282
func.func @redundant_maps(%A: tensor<1x2x3x4x5xi32>, %B: tensor<1x2x3x4x5xi32>,
8383
%C: tensor<1x2x3x4x5xi32>) -> tensor<1x2x3x4x5xi32> {
8484
%r = linalg.elementwise
85-
kind=#linalg.elementwise_kind<mul>
86-
indexing_maps = [#map, #map, #map]
87-
ins(%A, %B: tensor<1x2x3x4x5xi32>, tensor<1x2x3x4x5xi32>)
88-
outs(%C: tensor<1x2x3x4x5xi32>) -> tensor<1x2x3x4x5xi32>
85+
kind=#linalg.elementwise_kind<mul>
86+
indexing_maps = [#map, #map, #map]
87+
ins(%A, %B: tensor<1x2x3x4x5xi32>, tensor<1x2x3x4x5xi32>)
88+
outs(%C: tensor<1x2x3x4x5xi32>) -> tensor<1x2x3x4x5xi32>
8989
return %r : tensor<1x2x3x4x5xi32>
9090
}

0 commit comments

Comments
 (0)