History log of /llvm-project/mlir/test/python/dialects/transform_extras.py (Results 1 – 4 of 4)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init
# 06e3abcb 15-Jan-2024 martin-luecke <martin.luecke@ed.ac.uk>

[MLIR][transform][python] Introduce abstractions for handles to values and parameters (#77305)

In addition to the existing `OpHandle` which provides an abstraction to
emit transform ops targeting o

[MLIR][transform][python] Introduce abstractions for handles to values and 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`

show more ...


# 537b2aa2 21-Dec-2023 Maksim Levental <maksim.levental@gmail.com>

[mlir][python] meta region_op (#75673)


# acaff708 20-Dec-2023 Maksim Levental <maksim.levental@gmail.com>

[mlir][python] move transform extras (#76102)


# 681eacc1 15-Dec-2023 martin-luecke <martin.luecke@ed.ac.uk>

[MLIR][transform][python] add sugared python abstractions for transform dialect (#75073)

This adds Python abstractions for the different handle types of the
transform dialect

The abstractions al

[MLIR][transform][python] add sugared python abstractions for transform 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.

show more ...