llvm/mlir/test
Lei Zhang 6934a337f0 [spirv] Add support for BitEnumAttr
Certain enum classes in SPIR-V, like function/loop control and memory
access, are bitmasks. This CL introduces a BitEnumAttr to properly
model this and drive auto-generation of verification code and utility
functions. We still store the attribute using an 32-bit IntegerAttr
for minimal memory footprint and easy (de)serialization. But utility
conversion functions are adjusted to inspect each bit and generate
"|"-concatenated strings for the bits; vice versa.

Each such enum class has a "None" case that means no bit is set. We
need special handling for "None". Because of this, the logic is not
general anymore. So right now the definition is placed in the SPIR-V
dialect. If later this turns out to be useful for other dialects,
then we can see how to properly adjust it and move to OpBase.td.

Added tests for SPV_MemoryAccess to check and demonstrate.

PiperOrigin-RevId: 269350620
2019-09-16 09:23:22 -07:00
..
AffineOps Fix typo in test/AffineOps/ops.mlir 2019-09-15 09:06:39 -07:00
Conversion Update SPIR-V symbols and use GLSL450 instead of VulkanKHR 2019-09-13 15:26:32 -07:00
Dialect [spirv] Add support for BitEnumAttr 2019-09-16 09:23:22 -07:00
EDSC Add custom builder for AffineIfOp 2019-09-06 11:03:03 -07:00
Examples LLVM dialect: prefix auxiliary operations with "mlir." 2019-09-03 09:10:56 -07:00
IR Verify that ModuleOps only contain dialect specific attributes. 2019-09-13 18:19:33 -07:00
lib Publicly expose the functionality to parse a textual pass pipeline. 2019-09-13 17:54:00 -07:00
mlir-cpu-runner Add missing lowering to CFG in mlir-cpu-runner + related cleanup 2019-09-01 11:33:22 -07:00
mlir-cuda-runner JitRunner: support entry functions returning void 2019-08-20 07:46:17 -07:00
mlir-tblgen Add type constraints for shaped types with same rank and element count 2019-09-13 16:05:38 -07:00
Pass Update the IRPrinter instrumentation to work on non function/module operations. 2019-09-14 21:56:38 -07:00
Quantizer Change the attribute dictionary syntax to separate name and value with '='. 2019-06-25 19:06:34 -07:00
SDBM Overhaul the SDBM expression kind hierarchy 2019-09-16 08:16:06 -07:00
Target Add warpsize and laneid intrinsics to NVVM dialect. 2019-09-09 11:38:03 -07:00
Transforms update normalizeMemRef utility; handle missing failure check + add more tests 2019-09-14 13:21:35 -07:00
Unit Add build files and update README. 2019-03-30 11:23:22 -07:00
APITest.h Use FileCheck to test SDBM 2019-05-20 13:48:53 -07:00
CMakeLists.txt Move Linalg and VectorOps dialects to the Dialect subdir - NFC 2019-08-19 17:11:38 -07:00
lit.cfg.py Add an mlir-cuda-runner tool. 2019-07-04 07:53:54 -07:00
lit.site.cfg.py.in Move Linalg and VectorOps dialects to the Dialect subdir - NFC 2019-08-19 17:11:38 -07:00