llvm-project
4afd0cf5 - [mlir][sparse] Fix crash in SparseAssembler when run after SparseTensorCodegen (#183896)

Commit
45 days ago
[mlir][sparse] Fix crash in SparseAssembler when run after SparseTensorCodegen (#183896) After --sparse-tensor-codegen, sparse tensor arguments are replaced by memrefs and \!sparse_tensor.storage_specifier types. The subsequent --sparse-assembler pass calls getSparseTensorEncoding() to identify sparse arguments to wrap/unwrap. However, getSparseTensorEncoding() returns non-null for StorageSpecifierType as well as for sparse RankedTensorType. Since StorageSpecifierType is not a RankedTensorType, the subsequent cast<RankedTensorType> in convTypes() and convVals() would crash with an assertion failure. Fix by also checking isa<RankedTensorType>(type) in the passthrough condition in both convTypes() and convVals(), so that StorageSpecifierType arguments pass through unchanged. Fixes #183776
Author
Parents
Loading