llvm-project/mlir/test
Diego Caballero 96891f0418 Reland: [mlir][Vector][Affine] Improve affine vectorizer algorithm
This patch replaces the root-terminal vectorization approach implemented in the
Affine vectorizer with a topological order approach that vectorizes all the
operations within the target loop nest. These are the most important changes
introduced by the new algorithm:
  * Removed tracking of root and terminal ops. Existing vectorization
    functionality is preserved and extended so that loop nests without
    root-terminal chains can be vectorized.
  * Vectorizing a loop nest now only requires a single topological traversal.
  * A new vector loop nest is incrementally built along the vectorization
    process. The original scalar loop is kept intact. No cloning guard is needed
    to recover the scalar loop if vectorization fails. This approach also
    simplifies the challenging task of replacing a loop operation amid the
    vectorization process without invalidating the analysis information that
    depends on the original loop.
  * Vectorization of specific operations has been implemented as independent,
    preparing them to be moved to a potential vectorization interface.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D97442
2021-03-12 00:19:50 +02:00
..
Analysis Revert "[MLIR] Create memref dialect and move several dialect-specific ops from std." 2021-02-18 12:49:52 +01:00
Bindings [mlir] Model MemRef memory space as Attribute 2021-03-10 12:57:27 +03:00
CAPI [mlir] Model MemRef memory space as Attribute 2021-03-10 12:57:27 +03:00
Conversion [mlir] Change test-gpu-to-cubin to derive from SerializeToBlobPass 2021-03-11 10:42:20 +01:00
Dialect Reland: [mlir][Vector][Affine] Improve affine vectorizer algorithm 2021-03-12 00:19:50 +02:00
EDSC [mlir][math] Split off the math dialect. 2021-02-12 10:55:12 +01:00
Examples Forward the `LLVM_ENABLE_LIBCXX` CMake parameter to the mlir standalone test 2021-03-08 05:07:26 +00:00
IR [mlir] Correct verifyCompatibleShapes 2021-03-11 13:04:10 +01:00
Integration [mlir] Add NVVM to CUBIN conversion to mlir-opt 2021-03-11 10:07:11 +01:00
Interfaces/DataLayoutInterfaces [mlir] Introduce data layout modeling subsystem 2021-03-11 16:54:47 +01:00
Pass Avoid using /dev/null in test 2020-12-30 14:16:13 -08:00
Rewrite [mlir][PDL] Add support for PDL bytecode and expose PDL support to OwningRewritePatternList 2020-12-01 15:05:50 -08:00
SDBM Remove global dialect registration 2020-10-24 00:35:55 +00:00
Target [mlir] Add LLVM loop codegen options to control software pipelining 2021-03-11 16:46:44 +01:00
Transforms [mlir] Fix invalid hoisting of dependent allocs in buffer hoisting pass. 2021-03-11 11:46:16 +01:00
Unit Support multi-configuration generators correctly in several config files 2021-02-11 09:32:20 -08:00
lib [mlir][StorageUniquer] Properly call the destructor on non-trivially destructible storage instances 2021-03-11 11:35:32 -08:00
mlir-cpu-runner [mlir] Add polynomial approximation for math::Log2 2021-03-10 14:49:22 -08:00
mlir-linalg-ods-gen [mlir][linalg] Add support for using scalar attributes in TC ops. 2021-03-10 01:51:12 -08:00
mlir-opt [mlir] Introduce data layout modeling subsystem 2021-03-11 16:54:47 +01:00
mlir-reduce Revert "[MLIR] Create memref dialect and move several dialect-specific ops from std." 2021-02-18 12:49:52 +01:00
mlir-rocm-runner [mlir] NFC: split --shared-libs option into multiple lines. 2021-01-28 18:54:05 +01:00
mlir-spirv-cpu-runner [MLIR] Extend Symbol verification to reject public symbol declarations. 2020-11-16 16:05:32 -08:00
mlir-tblgen Fix MLIR test post 890afad954 2021-03-09 23:30:51 +00:00
mlir-translate [mlir] Print the correct tool name in mlirTranslateMain 2021-01-05 19:17:01 -08:00
mlir-vulkan-runner [MLIR] Extend Symbol verification to reject public symbol declarations. 2020-11-16 16:05:32 -08:00
APITest.h Mass update the MLIR license header to mention "Part of the LLVM project" 2020-01-26 03:58:30 +00:00
CMakeLists.txt Add basic JIT Python Bindings 2021-03-03 18:19:40 +00:00
lit.cfg.py [mlir] Move cuda tests 2021-03-03 13:16:51 +01:00
lit.site.cfg.py.in Forward the `LLVM_ENABLE_LIBCXX` CMake parameter to the mlir standalone test 2021-03-08 05:07:26 +00:00