[Mlir-commits] [mlir] [mlir][SparseTensor] Fix crash in SparseTensorEmptyConverter (PR #208913)
Hocky Yudhiono
llvmlistbot at llvm.org
Mon Jul 13 03:00:28 PDT 2026
================
----------------
hockyy wrote:
I just generated some other ops btw, it seems like these are failing too
```
// SparseTensorAllocConverter
func.func @alloc_tensor_i1_elem_type(%sz: index) -> tensor<?xi1, #sparse1d> {
%0 = bufferization.alloc_tensor(%sz) : tensor<?xi1, #sparse1d>
return %0 : tensor<?xi1, #sparse1d>
}
// SparseTensorReorderCOOConverter
func.func @reorder_coo_i1_elem_type(%arg0: tensor<?x?xi1, #unordered_coo>)
-> tensor<?x?xi1, #ordered_coo> {
%0 = sparse_tensor.reorder_coo quick_sort %arg0
: tensor<?x?xi1, #unordered_coo> to tensor<?x?xi1, #ordered_coo>
return %0 : tensor<?x?xi1, #ordered_coo>
}
// SparseTensorAssembleConverter
func.func @assemble_i1_elem_type(%pos: tensor<2xindex>, %coords: tensor<4x1xindex>,
%vals: tensor<4xi1>) -> tensor<8xi1, #sparse1d> {
%0 = sparse_tensor.assemble (%pos, %coords), %vals
: (tensor<2xindex>, tensor<4x1xindex>), tensor<4xi1> to tensor<8xi1, #sparse1d>
return %0 : tensor<8xi1, #sparse1d>
}
// SparseTensorToValuesConverter
func.func @values_i1_elem_type(%arg0: tensor<8xi1, #sparse1d>) -> memref<?xi1> {
%0 = sparse_tensor.values %arg0 : tensor<8xi1, #sparse1d> to memref<?xi1>
return %0 : memref<?xi1>
}
// SparseNumberOfEntriesConverter
func.func @number_of_entries_i1_elem_type(%arg0: tensor<8xi1, #sparse1d>) -> index {
%0 = sparse_tensor.number_of_entries %arg0 : tensor<8xi1, #sparse1d>
return %0 : index
}
// SparseTensorDisassembleConverter
func.func @disassemble_i1_elem_type(%sp: tensor<8xi1, #sparse1d>,
%op: tensor<2xindex>, %oi: tensor<4x1xindex>,
%od: tensor<4xi1>)
-> (tensor<2xindex>, tensor<4x1xindex>, tensor<4xi1>) {
%rp, %ri, %d, %rpl, %ril, %dl = sparse_tensor.disassemble %sp
: tensor<8xi1, #sparse1d>
out_lvls(%op, %oi : tensor<2xindex>, tensor<4x1xindex>)
out_vals(%od : tensor<4xi1>)
-> (tensor<2xindex>, tensor<4x1xindex>), tensor<4xi1>, (index, index), index
return %rp, %ri, %d : tensor<2xindex>, tensor<4x1xindex>, tensor<4xi1>
}
// SparseTensorInsertConverter
func.func @insert_i1_elem_type(%arg0: tensor<8xi1, #sparse1d>, %idx: index, %val: i1)
-> tensor<8xi1, #sparse1d> {
%0 = tensor.insert %val into %arg0[%idx] : tensor<8xi1, #sparse1d>
return %0 : tensor<8xi1, #sparse1d>
}
// SparseTensorCompressConverter
func.func @compress_i1_elem_type(%tensor: tensor<8x8xi1, #csr>,
%values: memref<?xi1>, %filled: memref<?xi1>,
%added: memref<?xindex>, %count: index, %i: index)
-> tensor<8x8xi1, #csr> {
%0 = sparse_tensor.compress %values, %filled, %added, %count into %tensor[%i]
: memref<?xi1>, memref<?xi1>, memref<?xindex>, tensor<8x8xi1, #csr>
return %0 : tensor<8x8xi1, #csr>
}
```
https://github.com/llvm/llvm-project/pull/208913
More information about the Mlir-commits
mailing list