1010// DEFINE: %{compile} = mlir-opt %s --sparsifier="%{sparsifier_opts}"
1111// DEFINE: %{compile_sve} = mlir-opt %s --sparsifier="%{sparsifier_opts_sve}"
1212// DEFINE: %{run_libs} = -shared-libs=%mlir_c_runner_utils,%mlir_runner_utils
13- // DEFINE: %{run_opts} = -e entry -entry-point-result=void
13+ // DEFINE: %{run_opts} = -e main -entry-point-result=void
1414// DEFINE: %{run} = mlir-cpu-runner %{run_opts} %{run_libs}
1515// DEFINE: %{run_sve} = %mcr_aarch64_cmd --march=aarch64 --mattr="+sve" %{run_opts} %{run_libs}
1616
@@ -85,34 +85,6 @@ module {
8585 return %0 : tensor <4 x9 xf64 >
8686 }
8787
88- func.func @dump_mat_4x9 (%A: tensor <4 x9 xf64 , #MAT_C_C >) {
89- %c = sparse_tensor.convert %A : tensor <4 x9 xf64 , #MAT_C_C > to tensor <4 x9 xf64 >
90- %cu = tensor.cast %c : tensor <4 x9 xf64 > to tensor <*xf64 >
91- call @printMemrefF64 (%cu ) : (tensor <*xf64 >) -> ()
92-
93- %n = sparse_tensor.number_of_entries %A : tensor <4 x9 xf64 , #MAT_C_C >
94- vector.print %n : index
95-
96- %1 = sparse_tensor.values %A : tensor <4 x9 xf64 , #MAT_C_C > to memref <?xf64 >
97- call @printMemref1dF64 (%1 ) : (memref <?xf64 >) -> ()
98-
99- return
100- }
101-
102- func.func @dump_mat_perm_4x9 (%A: tensor <4 x9 xf64 , #MAT_C_C_P >) {
103- %c = sparse_tensor.convert %A : tensor <4 x9 xf64 , #MAT_C_C_P > to tensor <4 x9 xf64 >
104- %cu = tensor.cast %c : tensor <4 x9 xf64 > to tensor <*xf64 >
105- call @printMemrefF64 (%cu ) : (tensor <*xf64 >) -> ()
106-
107- %n = sparse_tensor.number_of_entries %A : tensor <4 x9 xf64 , #MAT_C_C_P >
108- vector.print %n : index
109-
110- %1 = sparse_tensor.values %A : tensor <4 x9 xf64 , #MAT_C_C_P > to memref <?xf64 >
111- call @printMemref1dF64 (%1 ) : (memref <?xf64 >) -> ()
112-
113- return
114- }
115-
11688 func.func @dump_mat_dense_4x9 (%A: tensor <4 x9 xf64 >) {
11789 %1 = tensor.cast %A : tensor <4 x9 xf64 > to tensor <*xf64 >
11890 call @printMemrefF64 (%1 ) : (tensor <*xf64 >) -> ()
@@ -121,7 +93,7 @@ module {
12193 }
12294
12395 // Driver method to call and verify kernels.
124- func.func @entry () {
96+ func.func @main () {
12597 %m42 = arith.constant dense <
12698 [ [ 1.0 , 0.0 ],
12799 [ 3.1 , 0.0 ],
@@ -153,15 +125,21 @@ module {
153125 %sm43cdp = sparse_tensor.convert %m43 : tensor <4 x3 xf64 > to tensor <4 x3 xf64 , #MAT_C_D_P >
154126 %sm44dcp = sparse_tensor.convert %m44 : tensor <4 x4 xf64 > to tensor <4 x4 xf64 , #MAT_D_C_P >
155127
156- // CHECK: {{\[}}[1, 0, 1, 0, 1, 0, 0, 1.5, 1],
157- // CHECK-NEXT: [3.1, 0, 1, 0, 0.5, 0, 3.5, 0, 0],
158- // CHECK-NEXT: [0, 2, 0, 0, 1, 1, 5, 2, 0],
159- // CHECK-NEXT: [0, 0, 5, 2, 0, 1, 0.5, 0, 0]]
160- // CHECK-NEXT: 18
161- // CHECK: [1, 3.1, 2, 1, 1, 5, 2, 1, 0.5, 1, 1, 1, 3.5, 5, 0.5, 1.5, 2, 1
128+ //
129+ // CHECK: ---- Sparse Tensor ----
130+ // CHECK-NEXT: nse = 18
131+ // CHECK-NEXT: dim = ( 4, 9 )
132+ // CHECK-NEXT: lvl = ( 9, 4 )
133+ // CHECK-NEXT: pos[0] : ( 0, 9
134+ // CHECK-NEXT: crd[0] : ( 0, 1, 2, 3, 4, 5, 6, 7, 8
135+ // CHECK-NEXT: pos[1] : ( 0, 2, 3, 6, 7, 10, 12, 15, 17, 18
136+ // CHECK-NEXT: crd[1] : ( 0, 1, 2, 0, 1, 3, 3, 0, 1, 2, 2, 3, 1, 2, 3, 0, 2, 0
137+ // CHECK-NEXT: values : ( 1, 3.1, 2, 1, 1, 5, 2, 1, 0.5, 1, 1, 1, 3.5, 5, 0.5, 1.5, 2, 1
138+ // CHECK-NEXT: ----
139+ //
162140 %12 = call @concat_sparse_sparse_perm_dim1 (%sm42ccp , %sm43cd , %sm44dc )
163141 : (tensor <4 x2 xf64 , #MAT_C_C_P >, tensor <4 x3 xf64 , #MAT_C_D >, tensor <4 x4 xf64 , #MAT_D_C >) -> tensor <4 x9 xf64 , #MAT_C_C_P >
164- call @dump_mat_perm_4x9 ( %12 ) : ( tensor <4 x9 xf64 , #MAT_C_C_P >) -> ()
142+ sparse_tensor.print %12 : tensor <4 x9 xf64 , #MAT_C_C_P >
165143
166144 // CHECK: {{\[}}[1, 0, 1, 0, 1, 0, 0, 1.5, 1],
167145 // CHECK-NEXT: [3.1, 0, 1, 0, 0.5, 0, 3.5, 0, 0],
@@ -171,15 +149,21 @@ module {
171149 : (tensor <4 x2 xf64 , #MAT_C_C_P >, tensor <4 x3 xf64 , #MAT_C_D_P >, tensor <4 x4 xf64 , #MAT_D_C >) -> tensor <4 x9 xf64 >
172150 call @dump_mat_dense_4x9 (%13 ) : (tensor <4 x9 xf64 >) -> ()
173151
174- // CHECK: {{\[}}[1, 0, 1, 0, 1, 0, 0, 1.5, 1],
175- // CHECK-NEXT: [3.1, 0, 1, 0, 0.5, 0, 3.5, 0, 0],
176- // CHECK-NEXT: [0, 2, 0, 0, 1, 1, 5, 2, 0],
177- // CHECK-NEXT: [0, 0, 5, 2, 0, 1, 0.5, 0, 0]]
178- // CHECK-NEXT: 18
179- // CHECK: [1, 1, 1, 1.5, 1, 3.1, 1, 0.5, 3.5, 2, 1, 1, 5, 2, 5, 2, 1, 0.5
152+ //
153+ // CHECK: ---- Sparse Tensor ----
154+ // CHECK-NEXT: nse = 18
155+ // CHECK-NEXT: dim = ( 4, 9 )
156+ // CHECK-NEXT: lvl = ( 4, 9 )
157+ // CHECK-NEXT: pos[0] : ( 0, 4
158+ // CHECK-NEXT: crd[0] : ( 0, 1, 2, 3
159+ // CHECK-NEXT: pos[1] : ( 0, 5, 9, 14, 18
160+ // CHECK-NEXT: crd[1] : ( 0, 2, 4, 7, 8, 0, 2, 4, 6, 1, 4, 5, 6, 7, 2, 3, 5, 6
161+ // CHECK-NEXT: values : ( 1, 1, 1, 1.5, 1, 3.1, 1, 0.5, 3.5, 2, 1, 1, 5, 2, 5, 2, 1, 0.5
162+ // CHECK-NEXT: ----
163+ //
180164 %14 = call @concat_mix_sparse_perm_dim1 (%m42 , %sm43cdp , %sm44dc )
181165 : (tensor <4 x2 xf64 >, tensor <4 x3 xf64 , #MAT_C_D_P >, tensor <4 x4 xf64 , #MAT_D_C >) -> tensor <4 x9 xf64 , #MAT_C_C >
182- call @dump_mat_4x9 ( %14 ) : ( tensor <4 x9 xf64 , #MAT_C_C >) -> ()
166+ sparse_tensor.print %14 : tensor <4 x9 xf64 , #MAT_C_C >
183167
184168 // CHECK: {{\[}}[1, 0, 1, 0, 1, 0, 0, 1.5, 1],
185169 // CHECK-NEXT: [3.1, 0, 1, 0, 0.5, 0, 3.5, 0, 0],
0 commit comments