For cases where we can automatically construct the Attribute allow for more
user-friendly input. This is consistent with C++ builder generation as well
choice of which single builder to generate here (most
specialized/user-friendly).
Registration of attribute builders from more raw/non-Attribute input is all
Python side.
The downside is that
- same Python code may not work everywhere the same,
- extra checking to see if user provided a custom builder in op builders,
- the ODS attribute name is load bearing,
upside is that
- easily change these/register dialect specific ones in downstream projects,
- we/users can use, for example, numpy where available rather than lowest common denominator,
- adding support/changing to different convenience builders are all along with the rest of the convenience functions in Python (no additional changes to tablegen file or recompilation needed);
Allow for both building with Attributes as well as raw inputs. This change
should therefore be backwards compatible as well as allow for avoiding
recreating Attribute where already available.
Something went wrong with the merge/rebase and now the documentation is duplicated,, and wrong for registerAttributeBuilder