Lines Matching refs:sparse_tensor
4 // expected-error@+1 {{'sparse_tensor.new' op result #0 must be sparse tensor of any type values, but got 'tensor<32xf32>'}}
5 %0 = sparse_tensor.new %arg0 : !llvm.ptr to tensor<32xf32>
11 #SparseVector = #sparse_tensor.encoding<{map = (d0) -> (d0 : compressed), posWidth=32, crdWidth=32}>
16 %0 = sparse_tensor.assemble (%pos, %coordinates), %values
23 #SparseVector = #sparse_tensor.encoding<{map = (d0) -> (d0 : compressed), posWidth=32, crdWidth=32}>
28 %0 = sparse_tensor.assemble (%pos, %coordinates), %values
35 #SparseVector = #sparse_tensor.encoding<{map = (d0, d1) -> (d0 : compressed(nonunique), d1 : singleton), posWidth=32, crdWidth=32}>
40 %0 = sparse_tensor.assemble (%pos, %coordinates), %values
47 #CSR = #sparse_tensor.encoding<{map = (d0, d1) -> (d0 : dense, d1 : compressed), posWidth=32, crdWidth=32}>
52 %0 = sparse_tensor.assemble (%coordinates), %values
59 #SparseVector = #sparse_tensor.encoding<{map = (d0) -> (d0 : compressed), posWidth=32, crdWidth=32}>
63 %rp, %rc, %rv, %pl, %cl, %vl = sparse_tensor.disassemble %sp : tensor<100xf32, #SparseVector>
72 #SparseVector = #sparse_tensor.encoding<{map = (d0, d1) -> (d0 : compressed(nonunique), d1 : singleton), posWidth=32, crdWidth=32}>
76 %rp, %rc, %rv, %pl, %cl, %vl = sparse_tensor.disassemble %sp : tensor<100x2xf64, #SparseVector>
85 #CSR = #sparse_tensor.encoding<{map = (d0, d1) -> (d0 : dense, d1 : compressed), posWidth=32, crdWidth=32}>
89 %rc, %rv, %cl, %vl = sparse_tensor.disassemble %sp : tensor<2x100xf64, #CSR>
99 // expected-error@+1 {{'sparse_tensor.positions' op operand #0 must be sparse tensor of any type values, but got 'tensor<128xf64>'}}
100 %0 = sparse_tensor.positions %arg0 { level = 0 : index } : tensor<128xf64> to memref<?xindex>
107 // expected-error@+1 {{'sparse_tensor.positions' op operand #0 must be sparse tensor of any type values, but got 'tensor<*xf64>'}}
108 %0 = "sparse_tensor.positions"(%arg0) { level = 0 : index } : (tensor<*xf64>) -> (memref<?xindex>)
114 #SparseVector = #sparse_tensor.encoding<{map = (d0) -> (d0 : compressed), posWidth=32}>
118 %0 = sparse_tensor.positions %arg0 { level = 0 : index } : tensor<128xf64, #SparseVector> to memref<?xindex>
124 #SparseVector = #sparse_tensor.encoding<{map = (d0) -> (d0 : compressed)}>
128 %0 = sparse_tensor.positions %arg0 { level = 1 : index } : tensor<128xf64, #SparseVector> to memref<?xindex>
135 // expected-error@+1 {{'sparse_tensor.coordinates' op operand #0 must be sparse tensor of any type values, but got 'tensor<10x10xi32>'}}
136 %0 = sparse_tensor.coordinates %arg0 { level = 1 : index } : tensor<10x10xi32> to memref<?xindex>
143 // expected-error@+1 {{'sparse_tensor.coordinates' op operand #0 must be sparse tensor of any type values, but got 'tensor<*xf64>'}}
144 %0 = "sparse_tensor.coordinates"(%arg0) { level = 0 : index } : (tensor<*xf64>) -> (memref<?xindex>)
150 #SparseVector = #sparse_tensor.encoding<{map = (d0) -> (d0 : compressed)}>
154 %0 = sparse_tensor.coordinates %arg0 { level = 0 : index } : tensor<?xf64, #SparseVector> to memref<?xi32>
160 #SparseVector = #sparse_tensor.encoding<{map = (d0) -> (d0 : compressed)}>
164 %0 = sparse_tensor.coordinates %arg0 { level = 1 : index } : tensor<128xf64, #SparseVector> to memref<?xindex>
171 // expected-error@+1 {{'sparse_tensor.values' op operand #0 must be sparse tensor of any type values, but got 'tensor<1024xf32>'}}
172 %0 = sparse_tensor.values %arg0 : tensor<1024xf32> to memref<?xf32>
178 #SparseVector = #sparse_tensor.encoding<{map = (d0) -> (d0 : compressed)}>
182 %0 = sparse_tensor.coordinates_buffer %arg0 : tensor<128xf64, #SparseVector> to memref<?xindex>
190 %0 = sparse_tensor.coordinates_buffer %arg0 : tensor<1024xf32> to memref<?xindex>
196 #SparseVector = #sparse_tensor.encoding<{map = (d0) -> (d0 : compressed)}>
200 %0 = sparse_tensor.values %arg0 : tensor<?xf64, #SparseVector> to memref<?xf32>
206 #CSR_SLICE = #sparse_tensor.encoding<{
207 map = (d0 : #sparse_tensor<slice(1, 4, 1)>, d1 : #sparse_tensor<slice(1, 4, 2)>) -> (d0 : dense, d1 : compressed)
212 %0 = sparse_tensor.slice.offset %arg0 at 2 : tensor<2x8xf64, #CSR_SLICE>
218 #CSR_SLICE = #sparse_tensor.encoding<{
219 map = (d0 : #sparse_tensor<slice(1, 4, 1)>, d1 : #sparse_tensor<slice(1, 4, 2)>) -> (d0 : dense, d1 : compressed)
224 %0 = sparse_tensor.slice.stride %arg0 at 2 : tensor<2x8xf64, #CSR_SLICE>
230 #SparseVector = #sparse_tensor.encoding<{map = (d0) -> (d0 : compressed)}>
232 func.func @sparse_get_md(%arg0: !sparse_tensor.storage_specifier<#SparseVector>) -> index {
234 %0 = sparse_tensor.storage_specifier.get %arg0 val_mem_sz at 0
235 : !sparse_tensor.storage_specifier<#SparseVector>
241 #SparseVector = #sparse_tensor.encoding<{map = (d0) -> (d0 : compressed)}>
243 func.func @sparse_get_md(%arg0: !sparse_tensor.storage_specifier<#SparseVector>) -> i64 {
245 %0 = sparse_tensor.storage_specifier.get %arg0 dim_offset at 0
246 : !sparse_tensor.storage_specifier<#SparseVector>
252 #SparseVector = #sparse_tensor.encoding<{map = (d0) -> (d0 : compressed)}>
254 func.func @sparse_get_md(%arg0: !sparse_tensor.storage_specifier<#SparseVector>) -> index {
256 %0 = sparse_tensor.storage_specifier.get %arg0 crd_mem_sz
257 : !sparse_tensor.storage_specifier<#SparseVector>
263 #SparseVector = #sparse_tensor.encoding<{map = (d0) -> (d0 : compressed)}>
265 func.func @sparse_get_md(%arg0: !sparse_tensor.storage_specifier<#SparseVector>) -> index {
267 %0 = sparse_tensor.storage_specifier.get %arg0 lvl_sz at 1
268 : !sparse_tensor.storage_specifier<#SparseVector>
274 #COO = #sparse_tensor.encoding<{map = (d0, d1) -> (d0 : compressed(nonunique), d1 : singleton)}>
276 func.func @sparse_get_md(%arg0: !sparse_tensor.storage_specifier<#COO>) -> index {
278 %0 = sparse_tensor.storage_specifier.get %arg0 pos_mem_sz at 1
279 : !sparse_tensor.storage_specifier<#COO>
286 // expected-error@+1 {{'sparse_tensor.load' op operand #0 must be sparse tensor of any type values, but got 'tensor<16x32xf64>'}}
287 %0 = sparse_tensor.load %arg0 : tensor<16x32xf64>
294 // expected-error@+1 {{'sparse_tensor.push_back' op failed to verify that value type matches element type of inBuffer}}
295 %0:2 = sparse_tensor.push_back %arg0, %arg1, %arg2 : index, memref<?xf64>, f32
303 // expected-error@+1 {{'sparse_tensor.push_back' op n must be not less than 1}}
304 %0:2 = sparse_tensor.push_back %arg0, %arg1, %arg2, %c0 : index, memref<?xf32>, f32, index
311 // expected-error@+1 {{'sparse_tensor.expand' op operand #0 must be sparse tensor of any type values, but got 'tensor<128xf64>'}}
312 %values, %filled, %added, %count = sparse_tensor.expand %arg0
325 // expected-error@+1 {{'sparse_tensor.compress' op operand #4 must be sparse tensor of any type values, but got 'tensor<8x8xf64>'}}
326 sparse_tensor.compress %arg0, %arg1, %arg2, %arg3 into %arg4[%arg5]
333 #CSR = #sparse_tensor.encoding<{map = (d0, d1) -> (d0 : dense, d1 : compressed)}>
341 // expected-error@+1 {{'sparse_tensor.compress' op incorrect number of coordinates}}
342 sparse_tensor.compress %arg0, %arg1, %arg2, %arg3 into %arg4[%arg5,%arg5]
351 %0 = sparse_tensor.convert %arg0 : tensor<*xf32> to tensor<10xf32>
357 #DCSR = #sparse_tensor.encoding<{map = (d0, d1) -> (d0 : compressed, d1 : compressed)}>
361 %0 = sparse_tensor.convert %arg0 : tensor<10x10xf64, #DCSR> to tensor<?xf64>
367 #CSR = #sparse_tensor.encoding<{map = (d0, d1) -> (d0 : dense, d1 : compressed)}>
371 %0 = sparse_tensor.convert %arg0 : tensor<10x?xf32> to tensor<10x10xf32, #CSR>
378 // expected-error@+1 {{'sparse_tensor.out' op operand #0 must be sparse tensor of any type values, but got 'tensor<10xf64>'}}
379 sparse_tensor.out %arg0, %arg1 : tensor<10xf64>, !llvm.ptr
385 #CSR = #sparse_tensor.encoding<{
386 map = (d0 : #sparse_tensor<slice(1, 4, 1)>, d1 : #sparse_tensor<slice(1, 4, 2)>) -> (d0 : dense, d1 : compressed)
391 %0 = sparse_tensor.convert %arg0 : tensor<10x?xf32> to tensor<10x10xf32, #CSR>
399 %r = sparse_tensor.binary %arg0, %arg1 : f64, f64 to f64
402 sparse_tensor.yield %x : f64
413 %r = sparse_tensor.binary %arg0, %arg1 : f64, f64 to f64
418 sparse_tensor.yield %y : f64
427 %r = sparse_tensor.binary %arg0, %arg1 : f64, f64 to f64
430 sparse_tensor.yield %x : f64
441 %0 = sparse_tensor.binary %arg0, %arg1 : f64, f64 to f64
446 sparse_tensor.yield %1 : f32
456 %0 = sparse_tensor.binary %arg0, %arg1 : i64, f64 to f64
466 // expected-error@+1 {{left region must end with sparse_tensor.yield}}
467 %0 = sparse_tensor.binary %arg0, %arg1 : f64, f64 to f64
481 %r = sparse_tensor.unary %arg0 : f64 to f64
484 sparse_tensor.yield %x : index
494 %r = sparse_tensor.unary %arg0 : f64 to f64
498 sparse_tensor.yield %x : f64
507 %0 = sparse_tensor.unary %arg0 : f64 to f64
511 sparse_tensor.yield %1 : f32
520 // expected-error@+1 {{present region must end with sparse_tensor.yield}}
521 %0 = sparse_tensor.unary %arg0 : f64 to f64
533 #SparseVector = #sparse_tensor.encoding<{ map = (d0) -> (d0 : compressed) }>
547 %result = sparse_tensor.unary %a : f64 to f64
549 absent={ sparse_tensor.yield %a : f64 }
557 #SparseVector = #sparse_tensor.encoding<{ map = (d0) -> (d0 : compressed) }>
573 %result = sparse_tensor.unary %a : f64 to f64
575 absent={ sparse_tensor.yield %v : f64 }
586 %r = sparse_tensor.reduce %arg0, %arg1, %cf1 : f64 {
588 sparse_tensor.yield %x : f64
598 %r = sparse_tensor.reduce %arg0, %arg1, %ci1 : i64 {
601 sparse_tensor.yield %cst : i64
611 %r = sparse_tensor.reduce %arg0, %arg1, %cf1 : f64 {
614 sparse_tensor.yield %cst : i64
623 // expected-error@+1 {{reduce region must end with sparse_tensor.yield}}
624 %r = sparse_tensor.reduce %arg0, %arg1, %cf1 : f64 {
636 %r = sparse_tensor.select %arg0 : f64 {
639 sparse_tensor.yield %ret : i1
648 %r = sparse_tensor.select %arg0 : f64 {
650 sparse_tensor.yield %x : f64
658 // expected-error@+1 {{select region must end with sparse_tensor.yield}}
659 %r = sparse_tensor.select %arg0 : f64 {
668 #DC = #sparse_tensor.encoding<{map = (d0, d1) -> (d0 : dense, d1 : compressed)}>
671 %0 = sparse_tensor.concatenate %arg {dimension = 1 : index}
678 #DC = #sparse_tensor.encoding<{map = (d0, d1) -> (d0 : dense, d1 : compressed)}>
683 %0 = sparse_tensor.concatenate %arg0, %arg1, %arg2 {dimension = 4 : index}
692 #C = #sparse_tensor.encoding<{map = (d0) -> (d0 : compressed)}>
693 #DC = #sparse_tensor.encoding<{map = (d0, d1) -> (d0 : dense, d1 : compressed)}>
694 #DCC = #sparse_tensor.encoding<{map = (d0, d1, d2) -> (d0 : dense, d1 : compressed, d2 : compressed)}>
699 %0 = sparse_tensor.concatenate %arg0, %arg1, %arg2 {dimension = 0 : index}
708 #DC = #sparse_tensor.encoding<{map = (d0, d1) -> (d0 : dense, d1 : compressed)}>
713 %0 = sparse_tensor.concatenate %arg0, %arg1, %arg2 {dimension = 0 : index}
722 #DC = #sparse_tensor.encoding<{map = (d0, d1) -> (d0 : dense, d1 : compressed)}>
727 %0 = sparse_tensor.concatenate %arg0, %arg1, %arg2 {dimension = 0 : index}
736 #DC = #sparse_tensor.encoding<{map = (d0, d1) -> (d0 : dense, d1 : compressed)}>
741 %0 = sparse_tensor.concatenate %arg0, %arg1, %arg2 {dimension = 0 : index}
750 #DCSR = #sparse_tensor.encoding<{map = (d0, d1) -> (d0 : compressed, d1 : compressed)}>
753 sparse_tensor.foreach in %arg0 : tensor<2x4xf64, #DCSR> do {
761 #DCSR = #sparse_tensor.encoding<{map = (d0, d1) -> (d0 : compressed, d1 : compressed)}>
764 sparse_tensor.foreach in %arg0 : tensor<2x4xf64, #DCSR> do {
772 #DCSR = #sparse_tensor.encoding<{map = (d0, d1) -> (d0 : compressed, d1 : compressed)}>
775 sparse_tensor.foreach in %arg0 : tensor<2x4xf64, #DCSR> do {
783 #DCSR = #sparse_tensor.encoding<{map = (d0, d1) -> (d0 : compressed, d1 : compressed)}>
786 sparse_tensor.foreach in %arg0 : tensor<2x4xf64, #DCSR> do {
794 #DCSR = #sparse_tensor.encoding<{map = (d0, d1) -> (d0 : compressed, d1 : compressed)}>
797 sparse_tensor.foreach in %arg0 init(%arg1) : tensor<2x4xf64, #DCSR>, f32 do {
805 #DCSR = #sparse_tensor.encoding<{map = (d0, d1) -> (d0 : compressed, d1 : compressed)}>
808 %1 = sparse_tensor.foreach in %arg0 init(%arg1) : tensor<2x4xf64, #DCSR>, f32 -> i32 do {
816 #DCSR = #sparse_tensor.encoding<{map = (d0, d1) -> (d0 : compressed, d1 : compressed)}>
819 %1 = sparse_tensor.foreach in %arg0 init(%arg1) : tensor<2x4xf64, #DCSR>, f32 -> f32 do {
821 sparse_tensor.yield %1 : index
833 sparse_tensor.sort insertion_sort_stable %arg0, %arg1 {perm_map = #MAP} : memref<?xf32>
844 sparse_tensor.sort hybrid_quick_sort %i20, %arg0 {perm_map = #MAP, ny = 1 : index} : memref<50xindex>
855 sparse_tensor.sort insertion_sort_stable %i20, %arg0 jointly %arg1 {perm_map = #MAP, ny = 1 : index} : memref<60xindex> jointly memref<10xf32>
865 sparse_tensor.sort hybrid_quick_sort %arg0, %arg1 {perm_map = #NON_PERM_MAP, ny = 1 : index}: memref<?xindex>
871 #UnorderedCOO = #sparse_tensor.encoding<{map = (d0, d1) -> (d0 : compressed(nonunique, nonordered), d1 : singleton(nonordered))}>
872 #OrderedCOOPerm = #sparse_tensor.encoding<{map = (d0, d1) -> (d1 : compressed(nonunique), d0 : singleton)}>
876 %ret = sparse_tensor.reorder_coo quick_sort %arg0 : tensor<?x?xf32, #UnorderedCOO> to tensor<?x?xf32, #OrderedCOOPerm>
882 #UnorderedCOO = #sparse_tensor.encoding<{map = (d0, d1) -> (d0 : compressed(nonunique, nonordered), d1 : singleton(nonordered))}>
883 #OrderedCOO = #sparse_tensor.encoding<{map = (d0, d1) -> (d0 : compressed(nonunique), d1 : singleton)}>
887 %ret = sparse_tensor.reorder_coo quick_sort %arg0 : tensor<?x?xf32, #UnorderedCOO> to tensor<?x?xf64, #OrderedCOO>
893 #BSR = #sparse_tensor.encoding<{
904 %l0, %l1, %l2 = sparse_tensor.crd_translate dim_to_lvl [%arg0, %arg1] as #BSR : index, index, index
910 #BSR = #sparse_tensor.encoding<{
921 %l0, %l1, %l2, %l3 = sparse_tensor.crd_translate dim_to_lvl [%arg0, %arg1, %arg2] as #BSR : index, index, index, index
927 #BSR = #sparse_tensor.encoding<{
939 %l0 = sparse_tensor.lvl %t, %lvl : tensor<?x?xi32, #BSR>
945 #BSR = #sparse_tensor.encoding<{
953 #DSDC = #sparse_tensor.encoding<{
959 %t1 = sparse_tensor.reinterpret_map %t0 : tensor<6x12xi32, #BSR>
966 #BSR = #sparse_tensor.encoding<{
974 #DSDD = #sparse_tensor.encoding<{
980 %t1 = sparse_tensor.reinterpret_map %t0 : tensor<6x12xi32, #BSR>
987 #BSR = #sparse_tensor.encoding<{
995 #DSDD = #sparse_tensor.encoding<{
1001 %t1 = sparse_tensor.reinterpret_map %t0 : tensor<6x12xi32, #BSR>
1008 #CSR = #sparse_tensor.encoding<{map = (d0, d1) -> (d0 : compressed, d1 : compressed)}>
1011 // expected-error@+1 {{'sparse_tensor.print' op operand #0 must be sparse tensor of any type values}}
1012 sparse_tensor.print %arg0 : tensor<10x10xf64>
1018 #COO = #sparse_tensor.encoding<{
1025 func.func @sparse_extract_iter_space(%sp : tensor<4x8xf32, #COO>, %it1 : !sparse_tensor.iterator<#COO, lvls = 2>) {
1026 // expected-error@+1 {{'sparse_tensor.extract_iteration_space' expect larger level upper bound than lower bound}}
1027 %l1 = sparse_tensor.extract_iteration_space %sp at %it1 lvls = 2 to 0 : tensor<4x8xf32, #COO>, !sparse_tensor.iterator<#COO, lvls = 2>
1028 -> !sparse_tensor.iter_space<#COO, lvls = 0 to 2>
1034 #COO = #sparse_tensor.encoding<{
1041 func.func @sparse_extract_iter_space(%sp : tensor<4x8xf32, #COO>, %it1 : !sparse_tensor.iterator<#COO, lvls = 0>) {
1042 // expected-error@+1 {{'sparse_tensor.extract_iteration_space' op parent iterator should be specified iff level lower bound equals 0}}
1043 %l1 = sparse_tensor.extract_iteration_space %sp at %it1 lvls = 0 : tensor<4x8xf32, #COO>, !sparse_tensor.iterator<#COO, lvls = 0>
1044 -> !sparse_tensor.iter_space<#COO, lvls = 1>
1050 #COO = #sparse_tensor.encoding<{
1058 // expected-error@+1 {{'sparse_tensor.extract_iteration_space' op parent iterator should be specified iff level lower bound equals 0}}
1059 %l1 = sparse_tensor.extract_iteration_space %sp lvls = 1 : tensor<4x8xf32, #COO> -> !sparse_tensor.iter_space<#COO, lvls = 1>
1065 #COO = #sparse_tensor.encoding<{
1072 #CSR = #sparse_tensor.encoding<{
1079 func.func @sparse_extract_iter_space(%sp : tensor<4x8xf32, #COO>, %it1 : !sparse_tensor.iterator<#CSR, lvls = 0>) {
1080 // expected-error@+1 {{'sparse_tensor.extract_iteration_space' op mismatch in parent iterator encoding and iteration space encoding.}}
1081 %l1 = sparse_tensor.extract_iteration_space %sp at %it1 lvls = 1 : tensor<4x8xf32, #COO>, !sparse_tensor.iterator<#CSR, lvls = 0>
1082 -> !sparse_tensor.iter_space<#COO, lvls = 1>
1088 #COO = #sparse_tensor.encoding<{
1095 func.func @sparse_extract_iter_space(%sp : tensor<4x8xf32, #COO>, %it1 : !sparse_tensor.iterator<#COO, lvls = 0>) {
1096 // expected-error@+1 {{'sparse_tensor.extract_iteration_space' op parent iterator should be used to extract an iteration space from a consecutive level.}}
1097 %l1 = sparse_tensor.extract_iteration_space %sp at %it1 lvls = 2 : tensor<4x8xf32, #COO>, !sparse_tensor.iterator<#COO, lvls = 0>
1098 -> !sparse_tensor.iter_space<#COO, lvls = 2>
1104 #COO = #sparse_tensor.encoding<{
1111 #CSR = #sparse_tensor.encoding<{
1118 func.func @sparse_extract_value(%sp : tensor<4x8xf32, #COO>, %it1 : !sparse_tensor.iterator<#CSR, lvls = 1>) -> f32 {
1119 // expected-error@+1 {{'sparse_tensor.extract_value' op mismatch in tensor encoding and iterator encoding.}}
1120 %f = sparse_tensor.extract_value %sp at %it1 : tensor<4x8xf32, #COO>, !sparse_tensor.iterator<#CSR, lvls = 1>
1126 #COO = #sparse_tensor.encoding<{
1133 func.func @sparse_extract_value(%sp : tensor<4x8xf32, #COO>, %it1 : !sparse_tensor.iterator<#COO, lvls = 0>) -> f32 {
1134 // expected-error@+1 {{'sparse_tensor.extract_value' op must use last-level iterator to extract values.}}
1135 %f = sparse_tensor.extract_value %sp at %it1 : tensor<4x8xf32, #COO>, !sparse_tensor.iterator<#COO, lvls = 0>
1141 #COO = #sparse_tensor.encoding<{
1149 %l1 = sparse_tensor.extract_iteration_space %sp lvls = 0 : tensor<4x8xf32, #COO> -> !sparse_tensor.iter_space<#COO, lvls = 0>
1150 // expected-error @+1 {{'sparse_tensor.iterate' op different number of region iter_args and yielded values: 2 != 1}}
1151 %r1, %r2 = sparse_tensor.iterate %it1 in %l1 at (%crd) iter_args(%si = %i, %sj = %j): !sparse_tensor.iter_space<#COO, lvls = 0> -> (index, index) {
1152 sparse_tensor.yield %si : index
1159 #COO = #sparse_tensor.encoding<{
1168 %l1 = sparse_tensor.extract_iteration_space %sp lvls = 0 : tensor<4x8xf32, #COO> -> !sparse_tensor.iter_space<#COO, lvls = 0>
1170 %r1 = sparse_tensor.iterate %it1 in %l1 at (%crd) iter_args(%outer = %i): !sparse_tensor.iter_space<#COO, lvls = 0> -> f32 {
1171 sparse_tensor.yield %outer : f32
1178 #COO = #sparse_tensor.encoding<{
1186 %l1 = sparse_tensor.extract_iteration_space %sp lvls = 0 : tensor<4x8xf32, #COO> -> !sparse_tensor.iter_space<#COO, lvls = 0>
1187 // expected-error @+1 {{'sparse_tensor.iterate' op 0-th region iter_arg and 0-th yielded value have different type: 'index' != 'f32'}}
1188 %r1 = sparse_tensor.iterate %it1 in %l1 at (%crd) iter_args(%si = %i): !sparse_tensor.iter_space<#COO, lvls = 0> -> index {
1190 sparse_tensor.yield %y : f32
1197 #COO = #sparse_tensor.encoding<{
1205 func.func @sparse_coiteration(%sp1 : !sparse_tensor.iter_space<#COO, lvls = 0>,
1206 %sp2 : !sparse_tensor.iter_space<#COO, lvls = 1>) -> index {
1208 // expected-error @+1 {{'sparse_tensor.coiterate' op contains duplicated cases.}}
1209 %ret = sparse_tensor.coiterate (%sp1, %sp2) at (%coord) iter_args(%arg = %init)
1210 : (!sparse_tensor.iter_space<#COO, lvls = 0>, !sparse_tensor.iter_space<#COO, lvls = 1>)
1213 sparse_tensor.yield %arg : index
1216 sparse_tensor.yield %arg : index
1224 #COO = #sparse_tensor.encoding<{
1232 func.func @sparse_coiteration(%sp1 : !sparse_tensor.iter_space<#COO, lvls = 0>,
1233 %sp2 : !sparse_tensor.iter_space<#COO, lvls = 1>) -> index {
1235 // expected-error @+1 {{'sparse_tensor.coiterate' op types mismatch between 0th yield value and defined value on 0th region}}
1236 %ret = sparse_tensor.coiterate (%sp1, %sp2) at (%coord) iter_args(%arg = %init)
1237 : (!sparse_tensor.iter_space<#COO, lvls = 0>, !sparse_tensor.iter_space<#COO, lvls = 1>)
1241 sparse_tensor.yield %i : i32
1248 #COO = #sparse_tensor.encoding<{
1256 func.func @sparse_coiteration(%sp1 : !sparse_tensor.iter_space<#COO, lvls = 0>,
1257 %sp2 : !sparse_tensor.iter_space<#COO, lvls = 1>) -> index {
1259 // expected-error @+1 {{'sparse_tensor.coiterate' op required out-of-bound coordinates}}
1260 %ret = sparse_tensor.coiterate (%sp1, %sp2) at (%coord1, %coord2) iter_args(%arg = %init)
1261 : (!sparse_tensor.iter_space<#COO, lvls = 0>, !sparse_tensor.iter_space<#COO, lvls = 1>)
1265 sparse_tensor.yield %i : i32