Skip to content

Commit 061d978

Browse files
authored
[mlir][test] Update tests to use vector.print str (NFC) (#68973)
This cuts down on a fair amount of boilerplate. Depends on: #68695
1 parent ab7e8b7 commit 061d978

10 files changed

+27
-215
lines changed

mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-compare-results-i16.mlir

+1-13
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,6 @@
1515
// Common Utility Functions
1616
//===----------------------------------------------------------------------===//
1717

18-
llvm.mlir.global internal constant @str_mismatch("Mismatch\0A")
19-
func.func private @printCString(!llvm.ptr<i8>) -> ()
20-
// Prints 'Mismatch' to stdout.
21-
func.func @printMismatch() -> () {
22-
%0 = llvm.mlir.addressof @str_mismatch : !llvm.ptr<array<9 x i8>>
23-
%1 = llvm.mlir.constant(0 : index) : i64
24-
%2 = llvm.getelementptr %0[%1, %1]
25-
: (!llvm.ptr<array<9 x i8>>, i64, i64) -> !llvm.ptr<i8>
26-
func.call @printCString(%2) : (!llvm.ptr<i8>) -> ()
27-
return
28-
}
29-
3018
// Prints both binary op operands and the first result. If the second result
3119
// does not match, prints the second result and a 'Mismatch' message.
3220
func.func @check_results(%lhs : i16, %rhs : i16, %res0 : i16, %res1 : i16) -> () {
@@ -38,7 +26,7 @@ func.func @check_results(%lhs : i16, %rhs : i16, %res0 : i16, %res1 : i16) -> ()
3826
%mismatch = arith.cmpi ne, %res0, %res1 : i16
3927
scf.if %mismatch -> () {
4028
vector.print %res1 : i16
41-
func.call @printMismatch() : () -> ()
29+
vector.print str "Mismatch"
4230
}
4331
return
4432
}

mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/fill-2d.mlir

+1-13
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,6 @@
1313
// RUN: -shared-libs=%mlir_runner_utils,%mlir_c_runner_utils | \
1414
// RUN: FileCheck %s
1515

16-
func.func @printTestEnd() {
17-
%0 = llvm.mlir.addressof @str_sme_end : !llvm.ptr<array<24 x i8>>
18-
%1 = llvm.mlir.constant(0 : index) : i64
19-
%2 = llvm.getelementptr %0[%1, %1]
20-
: (!llvm.ptr<array<24 x i8>>, i64, i64) -> !llvm.ptr<i8>
21-
llvm.call @printCString(%2) : (!llvm.ptr<i8>) -> ()
22-
return
23-
}
24-
2516
func.func @entry() {
2617
%c0 = arith.constant 0 : index
2718
%c4 = arith.constant 4 : index
@@ -104,7 +95,7 @@ func.func @entry() {
10495
}
10596

10697
// CHECK: SME: END OF TEST OUTPUT
107-
func.call @printTestEnd() : () -> ()
98+
vector.print str "SME: END OF TEST OUTPUT"
10899

109100
return
110101
}
@@ -116,6 +107,3 @@ module attributes {transform.with_named_sequence} {
116107
transform.yield
117108
}
118109
}
119-
120-
llvm.func @printCString(!llvm.ptr<i8>)
121-
llvm.mlir.global internal constant @str_sme_end("SME: END OF TEST OUTPUT\0A")

mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/fill-1d.mlir

+1-13
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,6 @@
22
// RUN: %mcr_aarch64_cmd -e=entry -entry-point-result=void --march=aarch64 --mattr="+sve" -shared-libs=%mlir_runner_utils,%mlir_c_runner_utils | \
33
// RUN: FileCheck %s
44

5-
func.func @printTestEnd() {
6-
%0 = llvm.mlir.addressof @str_sve_end : !llvm.ptr<array<24 x i8>>
7-
%1 = llvm.mlir.constant(0 : index) : i64
8-
%2 = llvm.getelementptr %0[%1, %1]
9-
: (!llvm.ptr<array<24 x i8>>, i64, i64) -> !llvm.ptr<i8>
10-
llvm.call @printCString(%2) : (!llvm.ptr<i8>) -> ()
11-
return
12-
}
13-
145
func.func @entry() {
156
%c4 = arith.constant 4 : index
167
%c0 = arith.constant 0 : index
@@ -41,7 +32,7 @@ func.func @entry() {
4132
}
4233

4334
// CHECK: SVE: END OF TEST OUTPUT
44-
func.call @printTestEnd() : () -> ()
35+
vector.print str "SVE: END OF TEST OUTPUT"
4536

4637
return
4738
}
@@ -53,6 +44,3 @@ module attributes {transform.with_named_sequence} {
5344
transform.yield
5445
}
5546
}
56-
57-
llvm.func @printCString(!llvm.ptr<i8>)
58-
llvm.mlir.global internal constant @str_sve_end("SVE: END OF TEST OUTPUT\0A")

mlir/test/Integration/Dialect/Vector/CPU/ArmSME/load-store-128-bit-tile.mlir

+4-19
Original file line numberDiff line numberDiff line change
@@ -29,16 +29,6 @@ func.func @print_i8s(%bytes: memref<?xi8>, %len: index) {
2929
return
3030
}
3131

32-
llvm.func @printCString(!llvm.ptr<i8>)
33-
34-
func.func @print_str(%str: !llvm.ptr<array<17 x i8>>) {
35-
%c0 = llvm.mlir.constant(0 : index) : i64
36-
%str_bytes = llvm.getelementptr %str[%c0, %c0]
37-
: (!llvm.ptr<array<17 x i8>>, i64, i64) -> !llvm.ptr<i8>
38-
llvm.call @printCString(%str_bytes) : (!llvm.ptr<i8>) -> ()
39-
return
40-
}
41-
4232
func.func @vector_copy_i128(%src: memref<?x?xi128>, %dst: memref<?x?xi128>) {
4333
%c0 = arith.constant 0 : index
4434
%tile = vector.load %src[%c0, %c0] : memref<?x?xi128>, vector<[1]x[1]xi128>
@@ -80,13 +70,13 @@ func.func @test_load_store_zaq0() {
8070

8171
// CHECK-LABEL: INITIAL TILE A:
8272
// CHECK: ( 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 )
83-
func.call @print_str(%init_a_str) : (!llvm.ptr<array<17 x i8>>) -> ()
73+
vector.print str "INITIAL TILE A:"
8474
func.call @print_i8s(%tile_a_bytes, %zaq_size_bytes) : (memref<?xi8>, index) -> ()
8575
vector.print punctuation <newline>
8676

8777
// CHECK-LABEL: INITIAL TILE B:
8878
// CHECK: ( 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64 )
89-
func.call @print_str(%init_b_str) : (!llvm.ptr<array<17 x i8>>) -> ()
79+
vector.print str "INITIAL TILE B:"
9080
func.call @print_i8s(%tile_b_bytes, %zaq_size_bytes) : (memref<?xi8>, index) -> ()
9181
vector.print punctuation <newline>
9282

@@ -95,19 +85,14 @@ func.func @test_load_store_zaq0() {
9585

9686
// CHECK-LABEL: FINAL TILE A:
9787
// CHECK: ( 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 )
98-
func.call @print_str(%final_a_str) : (!llvm.ptr<array<17 x i8>>) -> ()
88+
vector.print str "FINAL TILE A:"
9989
func.call @print_i8s(%tile_a_bytes, %zaq_size_bytes) : (memref<?xi8>, index) -> ()
10090
vector.print punctuation <newline>
10191

10292
// CHECK-LABEL: FINAL TILE B:
10393
// CHECK: ( 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 )
104-
func.call @print_str(%final_b_str) : (!llvm.ptr<array<17 x i8>>) -> ()
94+
vector.print str "FINAL TILE B:"
10595
func.call @print_i8s(%tile_b_bytes, %zaq_size_bytes) : (memref<?xi8>, index) -> ()
10696

10797
return
10898
}
109-
110-
llvm.mlir.global internal constant @init_tile_a ("INITIAL TILE A:\0A\00")
111-
llvm.mlir.global internal constant @init_tile_b ("INITIAL TILE B:\0A\00")
112-
llvm.mlir.global internal constant @final_tile_a(" FINAL TILE A:\0A\00")
113-
llvm.mlir.global internal constant @final_tile_b(" FINAL TILE B:\0A\00")

mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-load-vertical.mlir

+4-27
Original file line numberDiff line numberDiff line change
@@ -11,26 +11,6 @@
1111

1212
// RUN: %{compile} | %{run} | FileCheck %s
1313

14-
llvm.func @printCString(!llvm.ptr<i8>)
15-
16-
func.func @printTileBegin() attributes { enable_arm_streaming_ignore } {
17-
%0 = llvm.mlir.addressof @str_tile_begin : !llvm.ptr<array<11 x i8>>
18-
%1 = llvm.mlir.constant(0 : index) : i64
19-
%2 = llvm.getelementptr %0[%1, %1]
20-
: (!llvm.ptr<array<11 x i8>>, i64, i64) -> !llvm.ptr<i8>
21-
llvm.call @printCString(%2) : (!llvm.ptr<i8>) -> ()
22-
return
23-
}
24-
25-
func.func @printTileEnd() attributes { enable_arm_streaming_ignore } {
26-
%0 = llvm.mlir.addressof @str_tile_end : !llvm.ptr<array<9 x i8>>
27-
%1 = llvm.mlir.constant(0 : index) : i64
28-
%2 = llvm.getelementptr %0[%1, %1]
29-
: (!llvm.ptr<array<9 x i8>>, i64, i64) -> !llvm.ptr<i8>
30-
llvm.call @printCString(%2) : (!llvm.ptr<i8>) -> ()
31-
return
32-
}
33-
3414
func.func @entry() {
3515
%c0 = arith.constant 0 : index
3616
%c1 = arith.constant 1 : index
@@ -75,12 +55,12 @@ func.func @entry() {
7555
// CHECK-NEXT: ( 2, 2, 2, 2
7656
// CHECK-NEXT: ( 3, 3, 3, 3
7757
// CHECK: TILE END
78-
func.call @printTileBegin() : () -> ()
58+
vector.print str "TILE BEGIN"
7959
scf.for %i = %c0 to %za_s_size step %svl_s {
8060
%tileslice = vector.load %mem1[%i] : memref<?xi32>, vector<[4]xi32>
8161
vector.print %tileslice : vector<[4]xi32>
8262
}
83-
func.call @printTileEnd() : () -> ()
63+
vector.print str "TILE END"
8464

8565
// 2. VERTICAL LAYOUT
8666
// Dump "mem2". The smallest SVL is 128-bits so the tile will be at least
@@ -92,12 +72,9 @@ func.func @entry() {
9272
// CHECK-NEXT: ( 0, 1, 2, 3
9373
// CHECK-NEXT: ( 0, 1, 2, 3
9474
// CHECK: TILE END
95-
func.call @printTileBegin() : () -> ()
75+
vector.print str "TILE BEGIN"
9676
vector.print %0 : vector<[4]x[4]xi32>
97-
func.call @printTileEnd() : () -> ()
77+
vector.print str "TILE END"
9878

9979
return
10080
}
101-
102-
llvm.mlir.global internal constant @str_tile_begin("TILE BEGIN\0A")
103-
llvm.mlir.global internal constant @str_tile_end("TILE END\0A")

mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-f32.mlir

+4-27
Original file line numberDiff line numberDiff line change
@@ -14,26 +14,6 @@
1414
// REDEFINE: %{entry_point} = test_outerproduct_with_accumulator_4x4xf32
1515
// RUN: %{compile} | %{run} | FileCheck %s --check-prefix=WITH-ACC
1616

17-
llvm.func @printCString(!llvm.ptr<i8>)
18-
19-
func.func @printTileBegin() attributes { enable_arm_streaming_ignore } {
20-
%0 = llvm.mlir.addressof @str_tile_begin : !llvm.ptr<array<11 x i8>>
21-
%1 = llvm.mlir.constant(0 : index) : i64
22-
%2 = llvm.getelementptr %0[%1, %1]
23-
: (!llvm.ptr<array<11 x i8>>, i64, i64) -> !llvm.ptr<i8>
24-
llvm.call @printCString(%2) : (!llvm.ptr<i8>) -> ()
25-
return
26-
}
27-
28-
func.func @printTileEnd() attributes { enable_arm_streaming_ignore } {
29-
%0 = llvm.mlir.addressof @str_tile_end : !llvm.ptr<array<9 x i8>>
30-
%1 = llvm.mlir.constant(0 : index) : i64
31-
%2 = llvm.getelementptr %0[%1, %1]
32-
: (!llvm.ptr<array<9 x i8>>, i64, i64) -> !llvm.ptr<i8>
33-
llvm.call @printCString(%2) : (!llvm.ptr<i8>) -> ()
34-
return
35-
}
36-
3717
func.func @test_outerproduct_no_accumulator_4x4xf32() {
3818
%c0 = arith.constant 0 : index
3919

@@ -50,9 +30,9 @@ func.func @test_outerproduct_no_accumulator_4x4xf32() {
5030
// WITHOUT-ACC-NEXT: ( 0, 2, 4, 6
5131
// WITHOUT-ACC-NEXT: ( 0, 3, 6, 9
5232
// WITHOUT-ACC: TILE END
53-
func.call @printTileBegin() : () -> ()
33+
vector.print str "TILE BEGIN"
5434
vector.print %tile : vector<[4]x[4]xf32>
55-
func.call @printTileEnd() : () -> ()
35+
vector.print str "TILE END"
5636

5737
return
5838
}
@@ -75,12 +55,9 @@ func.func @test_outerproduct_with_accumulator_4x4xf32() {
7555
// WITH-ACC-NEXT: ( 10, 12, 14, 16
7656
// WITH-ACC-NEXT: ( 10, 13, 16, 19
7757
// WITH-ACC: TILE END
78-
func.call @printTileBegin() : () -> ()
58+
vector.print str "TILE BEGIN"
7959
vector.print %tile : vector<[4]x[4]xf32>
80-
func.call @printTileEnd() : () -> ()
60+
vector.print str "TILE END"
8161

8262
return
8363
}
84-
85-
llvm.mlir.global internal constant @str_tile_begin("TILE BEGIN\0A")
86-
llvm.mlir.global internal constant @str_tile_end("TILE END\0A")

mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-f64.mlir

+2-25
Original file line numberDiff line numberDiff line change
@@ -11,26 +11,6 @@
1111

1212
// RUN: %{compile} | %{run} | FileCheck %s
1313

14-
llvm.func @printCString(!llvm.ptr<i8>)
15-
16-
func.func @printTileBegin() attributes { enable_arm_streaming_ignore } {
17-
%0 = llvm.mlir.addressof @str_tile_begin : !llvm.ptr<array<11 x i8>>
18-
%1 = llvm.mlir.constant(0 : index) : i64
19-
%2 = llvm.getelementptr %0[%1, %1]
20-
: (!llvm.ptr<array<11 x i8>>, i64, i64) -> !llvm.ptr<i8>
21-
llvm.call @printCString(%2) : (!llvm.ptr<i8>) -> ()
22-
return
23-
}
24-
25-
func.func @printTileEnd() attributes { enable_arm_streaming_ignore } {
26-
%0 = llvm.mlir.addressof @str_tile_end : !llvm.ptr<array<9 x i8>>
27-
%1 = llvm.mlir.constant(0 : index) : i64
28-
%2 = llvm.getelementptr %0[%1, %1]
29-
: (!llvm.ptr<array<9 x i8>>, i64, i64) -> !llvm.ptr<i8>
30-
llvm.call @printCString(%2) : (!llvm.ptr<i8>) -> ()
31-
return
32-
}
33-
3414
func.func @test_outerproduct_with_accumulator_2x2xf64() {
3515
%f1 = arith.constant 1.0 : f64
3616
%f2 = arith.constant 2.0 : f64
@@ -50,12 +30,9 @@ func.func @test_outerproduct_with_accumulator_2x2xf64() {
5030
// CHECK-NEXT: ( 12, 12
5131
// CHECK-NEXT: ( 12, 12
5232
// CHECK: TILE END
53-
func.call @printTileBegin() : () -> ()
33+
vector.print str "TILE BEGIN"
5434
vector.print %tile : vector<[2]x[2]xf64>
55-
func.call @printTileEnd() : () -> ()
35+
vector.print str "TILE END"
5636

5737
return
5838
}
59-
60-
llvm.mlir.global internal constant @str_tile_begin("TILE BEGIN\0A")
61-
llvm.mlir.global internal constant @str_tile_end("TILE END\0A")

mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transpose.mlir

+4-27
Original file line numberDiff line numberDiff line change
@@ -11,26 +11,6 @@
1111

1212
// RUN: %{compile} | %{run} | FileCheck %s
1313

14-
llvm.func @printCString(!llvm.ptr<i8>)
15-
16-
func.func @printTileBegin() attributes { enable_arm_streaming_ignore } {
17-
%0 = llvm.mlir.addressof @str_tile_begin : !llvm.ptr<array<11 x i8>>
18-
%1 = llvm.mlir.constant(0 : index) : i64
19-
%2 = llvm.getelementptr %0[%1, %1]
20-
: (!llvm.ptr<array<11 x i8>>, i64, i64) -> !llvm.ptr<i8>
21-
llvm.call @printCString(%2) : (!llvm.ptr<i8>) -> ()
22-
return
23-
}
24-
25-
func.func @printTileEnd() attributes { enable_arm_streaming_ignore } {
26-
%0 = llvm.mlir.addressof @str_tile_end : !llvm.ptr<array<9 x i8>>
27-
%1 = llvm.mlir.constant(0 : index) : i64
28-
%2 = llvm.getelementptr %0[%1, %1]
29-
: (!llvm.ptr<array<9 x i8>>, i64, i64) -> !llvm.ptr<i8>
30-
llvm.call @printCString(%2) : (!llvm.ptr<i8>) -> ()
31-
return
32-
}
33-
3414
func.func @entry() {
3515
%c0 = arith.constant 0 : index
3616
%c1 = arith.constant 1 : index
@@ -77,9 +57,9 @@ func.func @entry() {
7757
// CHECK-NEXT: ( 2, 2, 2, 2
7858
// CHECK-NEXT: ( 3, 3, 3, 3
7959
// CHECK: TILE END
80-
func.call @printTileBegin() : () -> ()
60+
vector.print str "TILE BEGIN"
8161
vector.print %tile : vector<[4]x[4]xi32>
82-
func.call @printTileEnd() : () -> ()
62+
vector.print str "TILE END"
8363

8464
// Dump the transposed tile. The smallest SVL is 128-bits so the tile will be
8565
// at least 4x4xi32.
@@ -90,12 +70,9 @@ func.func @entry() {
9070
// CHECK-NEXT: ( 0, 1, 2, 3
9171
// CHECK-NEXT: ( 0, 1, 2, 3
9272
// CHECK: TILE END
93-
func.call @printTileBegin() : () -> ()
73+
vector.print str "TILE BEGIN"
9474
vector.print %transposed_tile : vector<[4]x[4]xi32>
95-
func.call @printTileEnd() : () -> ()
75+
vector.print str "TILE END"
9676

9777
return
9878
}
99-
100-
llvm.mlir.global internal constant @str_tile_begin("TILE BEGIN\0A")
101-
llvm.mlir.global internal constant @str_tile_end("TILE END\0A")

mlir/test/Integration/Dialect/Vector/CPU/ArmSME/tile_fill.mlir

+2-25
Original file line numberDiff line numberDiff line change
@@ -11,26 +11,6 @@
1111
// Integration test demonstrating filling a 32-bit element ZA tile with a
1212
// non-zero constant via vector to tile (MOVA) ops.
1313

14-
llvm.func @printCString(!llvm.ptr<i8>)
15-
16-
func.func @printTileBegin() attributes { enable_arm_streaming_ignore } {
17-
%0 = llvm.mlir.addressof @str_tile_begin : !llvm.ptr<array<11 x i8>>
18-
%1 = llvm.mlir.constant(0 : index) : i64
19-
%2 = llvm.getelementptr %0[%1, %1]
20-
: (!llvm.ptr<array<11 x i8>>, i64, i64) -> !llvm.ptr<i8>
21-
llvm.call @printCString(%2) : (!llvm.ptr<i8>) -> ()
22-
return
23-
}
24-
25-
func.func @printTileEnd() attributes { enable_arm_streaming_ignore } {
26-
%0 = llvm.mlir.addressof @str_tile_end : !llvm.ptr<array<9 x i8>>
27-
%1 = llvm.mlir.constant(0 : index) : i64
28-
%2 = llvm.getelementptr %0[%1, %1]
29-
: (!llvm.ptr<array<9 x i8>>, i64, i64) -> !llvm.ptr<i8>
30-
llvm.call @printCString(%2) : (!llvm.ptr<i8>) -> ()
31-
return
32-
}
33-
3414
func.func @entry() -> i32 {
3515
// Fill a tile with '123'. This will get lowered to a 1-d vector splat of
3616
// '123' and a loop that writes this vector to each tile slice in the ZA
@@ -46,13 +26,10 @@ func.func @entry() -> i32 {
4626
// CHECK-NEXT: ( 123, 123, 123, 123
4727
// CHECK-NEXT: ( 123, 123, 123, 123
4828
// CHECK: TILE END
49-
func.call @printTileBegin() : () -> ()
29+
vector.print str "TILE BEGIN"
5030
vector.print %tile : vector<[4]x[4]xi32>
51-
func.call @printTileEnd() : () -> ()
31+
vector.print str "TILE END"
5232

5333
%c0_i32 = arith.constant 0 : i32
5434
return %c0_i32 : i32
5535
}
56-
57-
llvm.mlir.global internal constant @str_tile_begin("TILE BEGIN\0A")
58-
llvm.mlir.global internal constant @str_tile_end("TILE END\0A")

0 commit comments

Comments
 (0)