[mlir:ODS] Deprecate Op parser/printer fields in favor of a new hasCustomAssemblyFormat field
Currently if an operation wants a C++ implemented parser/printer, it specifies inline code blocks. This is quite problematic for various reasons, e.g. it requires defining C++ inside of Tablegen which is discouraged when possible, but mainly because nearly all usages simply forward to static functions (e.g. `static void parseSomeOp(...)`) with users devising their own standards for how these are defined. This commit adds support for a `hasCustomAssemblyFormat` bit field that specifies if a C++ parser/printer is needed, and when set to 1 declares the parse/print methods for operations to override. For migration purposes, the existing behavior is untouched. Upstream usages will be replaced in a followup to keep this patch focused on the new implementation. Differential Revision: https://reviews.llvm.org/D119054
Loading
Please sign in to comment