llvm-project/mlir/test/Dialect/SparseTensor
wren romano 2af2e4dbb7 [mlir][sparse] Breaking up openSparseTensor to better support non-permutations
This commit updates how the `SparseTensorConversion` pass handles `NewOp`.  It breaks up the underlying `openSparseTensor` function into two parts (`SparseTensorReader::create` and `SparseTensorReader::readSparseTensor`) so that the pass can inject code for constructing `lvlSizes` between those two parts.  Migrating the construction of `lvlSizes` out of the runtime and into the pass is a necessary first step toward fully supporting non-permutations.  (The alternative would be for the pass to generate a `FuncOp` for performing the construction and then passing that to the runtime; which doesn't seem to have any benefits over the design of this commit.)  And since the pass now generates the code to call these two functions, this change also removes the `Action::kFromFile` value from the enum used by `_mlir_ciface_newSparseTensor`.

Reviewed By: aartbik

Differential Revision: https://reviews.llvm.org/D138363
2022-12-02 11:10:57 -08:00
..
buffer_rewriting.mlir [mlir][NFC] Remove trailing whitespaces from `*.td` and `*.mlir` files. 2022-11-28 15:26:30 -08:00
codegen.mlir [mlir][sparse] Put the implementation for the insertion operation to subroutines. 2022-12-01 13:23:59 -08:00
codegen_buffer_initialization.mlir [mlir][sparse] fix CHECK test error on windows. 2022-11-16 20:29:21 +00:00
conversion.mlir [mlir][sparse] Breaking up openSparseTensor to better support non-permutations 2022-12-02 11:10:57 -08:00
convert_dense2sparse.mlir [mlir][sparse] Split SparseTensorRewrite into PreSparsificationRewrite and PostSparsificationRewrite. 2022-11-17 07:13:55 -08:00
convert_sparse2dense.mlir [mlir][sparse] Split SparseTensorRewrite into PreSparsificationRewrite and PostSparsificationRewrite. 2022-11-17 07:13:55 -08:00
convert_sparse2sparse.mlir [mlir][sparse] Split SparseTensorRewrite into PreSparsificationRewrite and PostSparsificationRewrite. 2022-11-17 07:13:55 -08:00
dense.mlir [mlir][sparse] Switch to One-Shot Bufferize 2022-07-14 09:52:48 +02:00
fold.mlir [mlir][sparse] Fix the codegen for the convert operator to handle hidden nop convert. 2022-10-20 12:30:21 -07:00
invalid.mlir [mlir][sparse] Add expand_symmetry attribute to the new operator. 2022-11-23 16:32:15 -08:00
invalid_encoding.mlir [mlir][sparse] introduce a higher-order tensor mapping 2022-10-05 09:40:51 -07:00
one_shot_bufferize_tensor_copy_insertion.mlir [mlir][bufferization] Make `TensorCopyInsertionPass` a test pass 2022-12-02 15:38:02 +01:00
one_trip.mlir [mlir][sparse] add loop simplification to sparsification pass 2022-09-16 16:29:47 -07:00
rewriting.mlir [mlir][sparse] Split SparseTensorRewrite into PreSparsificationRewrite and PostSparsificationRewrite. 2022-11-17 07:13:55 -08:00
rewriting_for_codegen.mlir [mlir][sparse] Breaking up openSparseTensor to better support non-permutations 2022-12-02 11:10:57 -08:00
roundtrip.mlir [mlir][NFC] Remove trailing whitespaces from `*.td` and `*.mlir` files. 2022-11-28 15:26:30 -08:00
roundtrip_encoding.mlir [mlir][sparse] introduce a higher-order tensor mapping 2022-10-05 09:40:51 -07:00
scf_1_N_conversion.mlir [mlir][sparse] first general insertion implementation with pure codegen 2022-11-08 13:10:05 -08:00
sorted_coo.mlir [mlir][sparse] use loop emitter to generate loop in sparsification 2022-10-26 00:27:56 +00:00
sparse_1d.mlir [mlir][sparse] use loop emitter to generate loop in sparsification 2022-10-26 00:27:56 +00:00
sparse_2d.mlir [mlir][sparse] use loop emitter to generate loop in sparsification 2022-10-26 00:27:56 +00:00
sparse_3d.mlir [mlir][sparse] use loop emitter to generate loop in sparsification 2022-10-26 00:27:56 +00:00
sparse_affine.mlir [mlir][NFC] Remove trailing whitespaces from `*.td` and `*.mlir` files. 2022-11-28 15:26:30 -08:00
sparse_broadcast.mlir [mlir][sparse] build proper insertion chain 2022-10-28 15:58:51 -07:00
sparse_concat.mlir [mlir][NFC] Remove trailing whitespaces from `*.td` and `*.mlir` files. 2022-11-28 15:26:30 -08:00
sparse_concat_codegen.mlir [mlir][sparse] Improve concatenate operator rewrite for annotated all dense dimensions results. 2022-11-29 12:25:52 -08:00
sparse_expand.mlir [mlir][sparse] Making way for SparseTensorRuntime to support non-permutations 2022-11-14 13:48:41 -08:00
sparse_fill_zero.mlir [mlir][sparse] Split SparseTensorRewrite into PreSparsificationRewrite and PostSparsificationRewrite. 2022-11-17 07:13:55 -08:00
sparse_fp_ops.mlir [mlir][sparse] build proper insertion chain 2022-10-28 15:58:51 -07:00
sparse_index.mlir [mlir][sparse] build proper insertion chain 2022-10-28 15:58:51 -07:00
sparse_int_ops.mlir [mlir][sparse] change variable dimension to fixed attribute pointers/indices 2022-09-07 16:27:24 -07:00
sparse_kernels.mlir [mlir][sparse] build proper insertion chain 2022-10-28 15:58:51 -07:00
sparse_lower.mlir [mlir][sparse] change variable dimension to fixed attribute pointers/indices 2022-09-07 16:27:24 -07:00
sparse_lower_col.mlir [mlir][sparse] use loop emitter to generate loop in sparsification 2022-10-26 00:27:56 +00:00
sparse_lower_inplace.mlir [mlir][sparse] change variable dimension to fixed attribute pointers/indices 2022-09-07 16:27:24 -07:00
sparse_matmul_codegen.mlir [mlir][sparse] Put the implementation for the insertion operation to subroutines. 2022-12-01 13:23:59 -08:00
sparse_nd.mlir [mlir][sparse] change variable dimension to fixed attribute pointers/indices 2022-09-07 16:27:24 -07:00
sparse_out.mlir [mlir][sparse] build proper insertion chain 2022-10-28 15:58:51 -07:00
sparse_outbuf.mlir [mlir][sparse] change variable dimension to fixed attribute pointers/indices 2022-09-07 16:27:24 -07:00
sparse_parallel.mlir [mlir][sparse] support parallel for/reduction in sparsification. 2022-11-07 18:04:46 +00:00
sparse_parallel_reduce.mlir [mlir][sparse] support parallel for/reduction in sparsification. 2022-11-07 18:04:46 +00:00
sparse_perm.mlir [mlir][sparse] use loop emitter to generate loop in sparsification 2022-10-26 00:27:56 +00:00
sparse_perm_lower.mlir [mlir][sparse] Making way for SparseTensorRuntime to support non-permutations 2022-11-14 13:48:41 -08:00
sparse_reshape.mlir [mlir][sparse] Split SparseTensorRewrite into PreSparsificationRewrite and PostSparsificationRewrite. 2022-11-17 07:13:55 -08:00
sparse_scalars.mlir [mlir][sparse] use loop emitter to generate loop in sparsification 2022-10-26 00:27:56 +00:00
sparse_sddmm.mlir [mlir][bufferization] Make `TensorCopyInsertionPass` a test pass 2022-12-02 15:38:02 +01:00
sparse_storage.mlir [mlir][NFC] Update textual references of `func` to `func.func` in SparseTensor tests 2022-04-20 22:17:29 -07:00
sparse_transpose.mlir [mlir][sparse] build proper insertion chain 2022-10-28 15:58:51 -07:00
sparse_vector.mlir [mlir][sparse] introduce vectorization pass for sparse loops 2022-11-21 16:12:12 -08:00
sparse_vector_chain.mlir [mlir] Cleanup lingering problems surrounding attribute/type aliases 2022-11-30 17:02:54 -08:00
sparse_vector_index.mlir [mlir] Cleanup lingering problems surrounding attribute/type aliases 2022-11-30 17:02:54 -08:00
sparse_vector_ops.mlir [mlir][sparse][vectorization] implement "index" vectorization 2022-11-30 11:40:05 -08:00
sparse_vector_peeled.mlir [mlir][sparse][vector] ensure loop peeling to remove vector masks works 2022-11-21 16:51:06 -08:00