[mlir][sparse] support integral types i32,i16,i8 for *numerical* values
authorAart Bik <ajcbik@google.com>
Tue, 6 Apr 2021 23:46:27 +0000 (16:46 -0700)
committerAart Bik <ajcbik@google.com>
Wed, 7 Apr 2021 17:01:37 +0000 (10:01 -0700)
commit3acf49829c0064d5bcea5d8f6ca032559bf8e73a
treea771c6d5f408629dcbf79dcc1bbc123f26387ae6
parentb3e9b07a7d1cb543dcd8652a49a3613e6c9d993a
[mlir][sparse] support integral types i32,i16,i8 for *numerical* values

Some sparse matrices operate on integral values (in contrast with the common
f32 and f64 values). This CL expands the compiler and runtime support to deal
with several common type combinations.

Reviewed By: bixia

Differential Revision: https://reviews.llvm.org/D99999
mlir/lib/Dialect/Linalg/Transforms/SparseLowering.cpp
mlir/lib/Dialect/Linalg/Transforms/Sparsification.cpp
mlir/lib/ExecutionEngine/SparseUtils.cpp
mlir/test/Integration/Sparse/CPU/sparse_matvec.mlir
mlir/test/Integration/data/wide.mtx