llvm-project/mlir/lib/Dialect
Lei Zhang b30d87a90b [mlir][spirv] Add basic definitions for supporting availability
SPIR-V has a few mechanisms to control op availability: version,
extension, and capabilities. These mechanisms are considered as
different availability classes.

This commit introduces basic definitions for modelling SPIR-V
availability classes. Specifically, an `Availability` class is
added to SPIRVBase.td, along with two subclasses: MinVersion
and MaxVersion for versioning. SPV_Op is extended to take a
list of `Availability`. Each `Availability` instance carries
information for generating op interfaces for the corresponding
availability class and also the concrete availability
requirements.

With the availability spec on ops, we can now auto-generate the
op interfaces of all SPIR-V availability classes and also
synthesize the op's implementations of these interfaces. The
interface generation is done via new TableGen backends
-gen-avail-interface-{decls|defs}. The op's implementation is
done via -gen-spirv-avail-impls.

Differential Revision: https://reviews.llvm.org/D71930
2019-12-27 16:25:09 -05:00
..
AffineOps NFC: Replace ValuePtr with Value and remove it now that Value is value-typed. 2019-12-23 16:36:53 -08:00
FxpMathOps NFC: Replace ValuePtr with Value and remove it now that Value is value-typed. 2019-12-23 16:36:53 -08:00
GPU NFC: Replace ValuePtr with Value and remove it now that Value is value-typed. 2019-12-23 16:36:53 -08:00
LLVMIR NFC: Replace ValuePtr with Value and remove it now that Value is value-typed. 2019-12-23 16:36:53 -08:00
Linalg NFC: Replace ValuePtr with Value and remove it now that Value is value-typed. 2019-12-23 16:36:53 -08:00
LoopOps NFC: Replace ValuePtr with Value and remove it now that Value is value-typed. 2019-12-23 16:36:53 -08:00
QuantOps Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00
SDBM Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00
SPIRV [mlir][spirv] Add basic definitions for supporting availability 2019-12-27 16:25:09 -05:00
StandardOps [MLIR] [NFC] fix unused var warning 2019-12-27 12:04:46 +01:00
VectorOps Remove unused static function. 2019-12-26 18:20:15 -08:00
CMakeLists.txt NFC: Move AffineOps dialect to the Dialect sub-directory. 2019-08-20 15:36:39 -07:00
Traits.cpp Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00