llvm-project/mlir/test
aartbik 19dbb230a2 [mlir] [VectorOps] Add scatter/gather operations to Vector dialect
Introduces the scatter/gather operations to the Vector dialect
(important memory operations for sparse computations), together
with a first reference implementation that lowers to the LLVM IR
dialect to enable running on CPU (and other targets that support
the corresponding LLVM IR intrinsics).

The operations can be used directly where applicable, or can be used
during progressively lowering to bring other memory operations closer to
hardware ISA support for a gather/scatter. The semantics of the operation
closely correspond to those of the corresponding llvm intrinsics.

Note that the operation allows for a dynamic index vector (which is
important for sparse computations). However, this first reference
lowering implementation "serializes" the address computation when
base + index_vector is converted to a vector of pointers. Exploring
how to use SIMD properly during these step is TBD. More general
memrefs and idiomatic versions of striding are also TBD.

Reviewed By: arpith-jacob

Differential Revision: https://reviews.llvm.org/D84039
2020-07-21 10:57:40 -07:00
..
Analysis Change filecheck default to dump input on failure 2020-06-09 18:57:46 +00:00
Bindings/Python Initial boiler-plate for python bindings. 2020-07-09 12:03:58 -07:00
Conversion [mlir] [VectorOps] Add scatter/gather operations to Vector dialect 2020-07-21 10:57:40 -07:00
Dialect [mlir] [VectorOps] Add scatter/gather operations to Vector dialect 2020-07-21 10:57:40 -07:00
EDSC [MLIR][EDSC] Add fptrunc and fpext to EDSC 2020-07-21 08:55:18 -07:00
Examples [lit] Improve naming of test result categories 2020-06-05 08:14:42 -07:00
IR [MLIR] Add RegionKindInterface 2020-07-15 14:27:05 -07:00
Pass [mlir] Add a new context flag for disabling/enabling multi-threading 2020-05-02 12:32:25 -07:00
SDBM [MLIR] Reapply: Adjust libMLIR building to more closely follow libClang 2020-05-04 20:47:57 -07:00
Target [mlir] [VectorOps] Add scatter/gather operations to Vector dialect 2020-07-21 10:57:40 -07:00
Transforms [mlir][DialectConversion] Emit an error if an operation marked as erased has live users after conversion 2020-07-14 13:06:08 -07:00
Unit Add build files and update README. 2019-03-30 11:23:22 -07:00
lib [mlir] Added support for symbols inside linalg.generic and map concatenation 2020-07-20 19:20:47 +02:00
mlir-cpu-runner [mlir] support returning unranked memrefs 2020-06-26 15:37:37 +02:00
mlir-cuda-runner [MLIR][Standard] Make the `dim` operation index an operand. 2020-06-10 13:54:47 +00:00
mlir-linalg-ods-gen [mlir][Linalg] Add support to lower named ops to loops. 2020-04-30 13:45:17 -04:00
mlir-opt [mlir] Change dialect namespace loop->scf 2020-05-13 19:20:21 +02:00
mlir-reduce Create TestReducer pass 2020-07-11 00:46:57 +00:00
mlir-rocm-runner [mlir][rocdl] Fixing breakage of dim operator from 904f91db 2020-06-11 17:35:22 +00:00
mlir-tblgen [MLIR][TableGen] Add default value for named attributes for 2 more build methods 2020-07-16 09:32:19 -07:00
mlir-vulkan-runner [mlir][vulkan-runner] add support for memref of i8, i16 types in vulkan runner 2020-06-18 13:24:51 -07: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 [MLIR] Add RegionKindInterface 2020-07-15 14:27:05 -07:00
lit.cfg.py Initial boiler-plate for python bindings. 2020-07-09 12:03:58 -07:00
lit.site.cfg.py.in Initial boiler-plate for python bindings. 2020-07-09 12:03:58 -07:00