summaryrefslogtreecommitdiff
path: root/mlir/test/python/dialects/transform_extras.py
AgeCommit message (Collapse)Author
2024-01-15[MLIR][transform][python] Introduce abstractions for handles to values and ↵martin-luecke
parameters (#77305) In addition to the existing `OpHandle` which provides an abstraction to emit transform ops targeting operations this introduces a similar concept for _values_ and _parameters_ in form of `ValueHandle` and `ParamHandle`. New core transform abstractions: - `constant_param` - `OpHandle.get_result` - `OpHandle.print` - `ValueHandle.get_defining_op`
2023-12-21[mlir][python] meta region_op (#75673)Maksim Levental
2023-12-20[mlir][python] move transform extras (#76102)Maksim Levental
2023-12-15[MLIR][transform][python] add sugared python abstractions for transform ↵martin-luecke
dialect (#75073) This adds Python abstractions for the different handle types of the transform dialect The abstractions allow for straightforward chaining of transforms by calling their member functions. As an initial PR for this infrastructure, only a single transform is included: `transform.structured.match`. With a future `tile` transform abstraction an example of the usage is: ```Python def script(module: OpHandle): module.match_ops(MatchInterfaceEnum.TilingInterface).tile(tile_sizes=[32,32]) ``` to generate the following IR: ```mlir %0 = transform.structured.match interface{TilingInterface} in %arg0 %tiled_op, %loops = transform.structured.tile_using_for %0 [32, 32] ``` These abstractions are intended to enhance the usability and flexibility of the transform dialect by providing an accessible interface that allows for easy assembly of complex transformation chains.