diff options
author | Lei Zhang <antiagainst@google.com> | 2019-12-27 16:24:33 -0500 |
---|---|---|
committer | Lei Zhang <antiagainst@google.com> | 2019-12-27 16:25:09 -0500 |
commit | b30d87a90ba983d76f8a6cd334ac38244bbf9ded (patch) | |
tree | 1de94d9458e552ff6c90dadb621f66521659ca1d /mlir/test/Dialect/CMakeLists.txt | |
parent | c3dbd782f1e0578c7ebc342f2e92f54d9644cff7 (diff) | |
download | bcm5719-llvm-b30d87a90ba983d76f8a6cd334ac38244bbf9ded.tar.gz bcm5719-llvm-b30d87a90ba983d76f8a6cd334ac38244bbf9ded.zip |
[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
Diffstat (limited to 'mlir/test/Dialect/CMakeLists.txt')
-rw-r--r-- | mlir/test/Dialect/CMakeLists.txt | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/mlir/test/Dialect/CMakeLists.txt b/mlir/test/Dialect/CMakeLists.txt new file mode 100644 index 00000000000..cc1766c6127 --- /dev/null +++ b/mlir/test/Dialect/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory(SPIRV) |