diff options
author | Stella Laurenzo <stellaraccident@gmail.com> | 2021-01-18 11:27:19 -0800 |
---|---|---|
committer | Stella Laurenzo <stellaraccident@gmail.com> | 2021-01-19 09:29:57 -0800 |
commit | 71b6b010e6bc49caaec511195e33ac1f43f07c64 (patch) | |
tree | 8dcf01d111afd30216245064dfc0dbb9f0397b6c /llvm/lib/CodeGen/TargetLoweringBase.cpp | |
parent | cbdde495ba28915d52b561e44aaba12db4cf724f (diff) | |
download | llvm-71b6b010e6bc49caaec511195e33ac1f43f07c64.zip llvm-71b6b010e6bc49caaec511195e33ac1f43f07c64.tar.gz llvm-71b6b010e6bc49caaec511195e33ac1f43f07c64.tar.bz2 |
[mlir][python] Factor out standalone OpView._ods_build_default class method.
* This allows us to hoist trait level information for regions and sized-variadic to class level attributes (_ODS_REGIONS, _ODS_OPERAND_SEGMENTS, _ODS_RESULT_SEGMENTS).
* Eliminates some splicey python generated code in favor of a native helper for it.
* Makes it possible to implement custom, variadic and region based builders with one line of python, without needing to manually code access to the segment attributes.
* Needs follow-on work for region based callbacks and support for SingleBlockImplicitTerminator.
* A follow-up will actually add ODS support for generating custom Python builders that delegate to this new method.
* Also includes the start of an e2e sample for constructing linalg ops where this limitation was discovered (working progressively through this example and cleaning up as I go).
Differential Revision: https://reviews.llvm.org/D94738
Diffstat (limited to 'llvm/lib/CodeGen/TargetLoweringBase.cpp')
0 files changed, 0 insertions, 0 deletions