[mlir][ods] Add nested OpTrait
authorJacques Pienaar <jpienaar@google.com>
Tue, 20 Jul 2021 17:44:48 +0000 (10:44 -0700)
committerJacques Pienaar <jpienaar@google.com>
Tue, 20 Jul 2021 17:44:48 +0000 (10:44 -0700)
commit4b897de5fa0298398cb7e993963cc3507c961985
tree4bc53254507a46a4cbc559f1517a1d190cf69d6a
parent700d07f8ce6f2879610fd6b6968b05c6f17bb915
[mlir][ods] Add nested OpTrait

Allows for grouping OpTraits with list of OpTrait to make it easier to group OpTraits together without needing to use list concats (e.g., enable using `[Traits, ..., UsefulGroupOfTraits, Others, ...]` instead of `[Traits, ...] # UsefulGroupOfTraits # [Others, ...]`). Flatten in construction of Operation. This recurses here as the expectation is that these aren't expected to be deeply nested (most likely only 1 level of nesting).

Differential Revision: https://reviews.llvm.org/D106223
mlir/include/mlir/IR/OpBase.td
mlir/lib/TableGen/Operator.cpp
mlir/test/mlir-tblgen/op-decl-and-defs.td