llvm-project/mlir/test
Aart Bik e057f25dee [mlir][sparse] auto-insertion of conversion to resolve cycles
When the iteration graph is cyclic (even after several attempts using less and less constraints), the current sparse compiler bails out, and no rewriting hapens. However, this revision adds some new logic where the sparse compiler tries to find a single input sparse tensor that breaks the cycle, and then adds a proper sparse conversion operation. This way, more incoming kernels can be handled!

Note, the resulting code is not optimal (although it keeps more or less proper "sparse" complexity), and more improvements should be added (especially when the kernel directly yields without computation, such as the transpose example). However, handling is better than not handling ;-)

Reviewed By: bixia

Differential Revision: https://reviews.llvm.org/D128847
2022-06-29 18:28:18 -07:00
..
Analysis (Reland)[mlir] Add a generic data-flow analysis framework 2022-06-14 21:33:05 +00:00
CAPI [mlir] add an option to print op stats in JSON 2022-06-15 10:07:36 -07:00
Conversion [mlir][spirv] Support more comparisons on boolean values 2022-06-28 11:58:42 -04:00
Dialect [mlir][sparse] auto-insertion of conversion to resolve cycles 2022-06-29 18:28:18 -07:00
Examples [mlir] Tunnel LLVM_USE_LINKER through to the standalone example build. 2022-06-05 12:31:41 -07:00
IR [mlir] Prevent SubElementInterface from going into infinite recursion 2022-06-29 13:58:02 -07:00
Integration [mlir][sparse] auto-insertion of conversion to resolve cycles 2022-06-29 18:28:18 -07:00
Interfaces [mlir][TilingInterface] Enable tile and fuse using TilingInterface. 2022-06-21 17:22:58 +00:00
Pass [mlir] Refactor pass crash reproducer generation to be an assembly resource 2022-06-29 12:14:02 -07:00
Rewrite [mlir:PDLInterp] Refactor the implementation of result type inferrence 2022-05-01 12:25:05 -07:00
Target [NFC][OpenMP] Fix worksharing-loop 2022-06-29 12:20:03 +08:00
Transforms [mlir] Support getSuccessorInputs from parent op 2022-06-13 22:21:34 +00:00
Unit [lit] Fix setup of sanitizer environment 2022-05-19 19:24:16 -07:00
lib [mlir] Prevent SubElementInterface from going into infinite recursion 2022-06-29 13:58:02 -07:00
mlir-cpu-runner [mlir][LLVMIR] Add support for va_start/copy/end intrinsics 2022-06-27 09:46:40 -07:00
mlir-linalg-ods-gen [mlir][linalg] Add ods-gen helper to simplify the build methods. 2022-04-20 13:14:38 +00:00
mlir-lsp-server [mlir:LSP] Improve conversion between SourceMgr and LSP locations 2022-04-28 12:58:00 -07:00
mlir-opt [Coroutines] Convert coroutine.presplit to enum attr 2022-06-14 14:23:46 +08:00
mlir-pdll [mlir:PDLL] Rework the C++ generation of native Constraint/Rewrite arguments and results 2022-05-30 17:35:34 -07:00
mlir-pdll-lsp-server [mlir:PDLL] Add support for inlay hints 2022-06-06 20:20:19 -07:00
mlir-reduce [MLIR] prefer /bin/sh over /bin/bash for simple test scripts 2022-04-21 20:25:17 -05:00
mlir-spirv-cpu-runner [mlir][spirv] Replace StructAttrs with AttrDefs 2022-06-09 23:16:44 +00:00
mlir-tblgen Fix printing for ArrayRef attributes/types in declarative assembly format 2022-06-28 17:39:38 +00:00
mlir-translate [mlir][NFC] Update textual references of `func` to `func.func` in tool/runner tests 2022-04-20 22:17:30 -07:00
mlir-vulkan-runner [mlir][vulkan] Add missing '<>' in test IRs to fix test 2022-06-10 18:09:12 -04:00
python [mlir][linalg] Extend opdsl to support operations on complex types. 2022-06-17 09:34:26 -07:00
tblgen-lsp-server [mlir:LSP] Switch document sync mode to Incremental 2022-06-06 20:20:19 -07:00
APITest.h Adjust "end namespace" comment in MLIR to match new agree'd coding style 2021-12-08 06:05:26 +00:00
CMakeLists.txt [mlir][sparse] Add complex number reading from files. 2022-06-08 13:33:35 -07:00
lit.cfg.py [mlir] Use 'native' instead of 'llvm_has_native_target' in the mlir tests 2022-05-23 12:38:24 -07:00
lit.site.cfg.py.in [mlir] Tunnel LLVM_USE_LINKER through to the standalone example build. 2022-06-05 12:31:41 -07:00