diff options
author | River Riddle <riddleriver@gmail.com> | 2022-03-11 19:02:53 -0800 |
---|---|---|
committer | River Riddle <riddleriver@gmail.com> | 2022-03-15 00:42:31 -0700 |
commit | 23e3cbe24a51604a03a379664f67ed79e5fef897 (patch) | |
tree | c59072175bbe3189ff5eaf9fc643d3f0485ad298 /lldb/packages/Python/lldbsuite/test/gdbclientutils.py | |
parent | 84d2549e82ba44ded64ae3626a11116cf97ee424 (diff) | |
download | llvm-23e3cbe24a51604a03a379664f67ed79e5fef897.zip llvm-23e3cbe24a51604a03a379664f67ed79e5fef897.tar.gz llvm-23e3cbe24a51604a03a379664f67ed79e5fef897.tar.bz2 |
[mlir] Refactor how parser/printers are specified for AttrDef/TypeDef
There is currently an awkwardly complex set of rules for how a
parser/printer is generated for AttrDef/TypeDef. It can change depending on if a
mnemonic was specified, if there are parameters, if using the assemblyFormat, if
individual parser/printer code blocks were specified, etc. This commit refactors
this to make what the attribute/type wants more explicit, and to better align
with how formats are specified for operations.
Firstly, the parser/printer code blocks are removed in favor of a
`hasCustomAssemblyFormat` bit field. This aligns with the operation format
specification (and is nice to remove code blocks from ODS).
This commit also adds a requirement to explicitly set `assemblyFormat` or
`hasCustomAssemblyFormat` when the mnemonic is set and the attr/type
has no parameters. This removes the weird implicit matrix of behavior,
and also encourages the author to make a conscious choice of either C++
or declarative format instead of implicitly opting them into the C++
format (we should be pushing towards declarative when possible).
Differential Revision: https://reviews.llvm.org/D121505
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/gdbclientutils.py')
0 files changed, 0 insertions, 0 deletions