llvm-project/mlir
Alex Zinenko 052d24af29 [mlir] Introduce support for parametric side-effects
The side effect infrastructure is based on the Effect and Resource class
templates, instances of instantiations of which are constructed as
thread-local singletons. With this scheme, it is impossible to further
parameterize either of those, or the EffectInstance class that contains
pointers to an Effect and Resource instances. Such a parameterization is
necessary to express more detailed side effects, e.g. those of a loop or
a function call with affine operations inside where it is possible to
precisely specify the slices of accessed buffers.

Include an additional Attribute to EffectInstance class for further
parameterization. This allows to leverage the dialect-specific
registration and uniquing capabilities of the attribute infrastructure
without requiring Effect or Resource instantiations to be attached to a
dialect themselves.

Split out the generic part of the side effect Tablegen classes into a
separate file to avoid generating built-in MemoryEffect interfaces when
processing any .td file that includes SideEffectInterfaceBase.td.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D91493
2020-11-18 10:52:17 +01:00
..
cmake/modules [mlir] Add basic support for attributes in ODS-generated Python bindings 2020-11-17 11:47:37 +01:00
docs [mlir] Get array from the dense elements attribute with buffer protocol. 2020-11-18 15:50:59 +08:00
examples [mlir][NFC] Remove references to Module.h and Function.h 2020-11-17 00:55:47 -08:00
include [mlir] Introduce support for parametric side-effects 2020-11-18 10:52:17 +01:00
integration_test [MLIR] Fix up integration tests after b7382ed3fe 2020-11-17 15:42:45 +01:00
lib [mlir] Get array from the dense elements attribute with buffer protocol. 2020-11-18 15:50:59 +08:00
test [mlir] Introduce support for parametric side-effects 2020-11-18 10:52:17 +01:00
tools [mlir] [sparse] start of sparse tensor compiler support 2020-11-17 13:10:42 -08:00
unittests [mlir][NFC] Remove references to Module.h and Function.h 2020-11-17 00:55:47 -08:00
utils [mlir] Fix TypeID lookup in GDB pretty printers. 2020-10-27 07:12:32 +01:00
.clang-format
.clang-tidy Fix MLIR clang-tidy: when tweaking it does not inherit from the parent 2020-03-07 17:44:21 +00:00
CMakeLists.txt [mlir] Add basic support for attributes in ODS-generated Python bindings 2020-11-17 11:47:37 +01:00
LICENSE.TXT Add the Apache2 with LLVM exceptions license to MLIR 2019-12-24 00:58:06 -08:00
README.md mlir README.md: Fix the syntax 2019-12-24 13:31:07 +01:00

README.md

Multi-Level Intermediate Representation

See https://mlir.llvm.org/ for more information.