@@ -1489,6 +1489,7 @@ def ExtractIterSpaceOp : SparseTensor_Op<"extract_iteration_space",
1489
1489
// Extracts a 1-D iteration space from a COO tensor at level 1.
1490
1490
%space = sparse_tensor.iteration.extract_space %sp at %it1 lvls = 1
1491
1491
: tensor<4x8xf32, #COO>, !sparse_tensor.iterator<#COO, lvls = 0>
1492
+ ->!sparse_tensor.iter_space<#COO, lvls = 1>
1492
1493
```
1493
1494
}];
1494
1495
@@ -1567,12 +1568,14 @@ def IterateOp : SparseTensor_Op<"iterate",
1567
1568
```mlir
1568
1569
func.func @nested_iterate(%sp : tensor<4x8xf32, #COO>) {
1569
1570
// Iterates over the first level of %sp
1570
- %l1 = sparse_tensor.extract_iteration_space %sp lvls = 0 : tensor<4x8xf32, #COO>
1571
+ %l1 = sparse_tensor.extract_iteration_space %sp lvls = 0
1572
+ : tensor<4x8xf32, #COO> -> !sparse_tensor.iter_space<#COO, lvls = 0 to 1>
1571
1573
%r1 = sparse_tensor.iterate %it1 in %l1 at (%coord0)
1572
1574
: !sparse_tensor.iter_space<#COO, lvls = 0 to 1> {
1573
1575
// Iterates over the second level of %sp
1574
1576
%l2 = sparse_tensor.extract_iteration_space %sp at %it1 lvls = 1
1575
1577
: tensor<4x8xf32, #COO>, !sparse_tensor.iterator<#COO, lvls = 0 to 1>
1578
+ -> !sparse_tensor.iter_space<#COO, lvls = 1 to 2>
1576
1579
%r2 = sparse_tensor.iterate %it2 in %l2 at (coord1)
1577
1580
: !sparse_tensor.iter_space<#COO, lvls = 1 to 2> {
1578
1581
vector.print %coord0 : index
0 commit comments