|
| 1 | +# MLIR Release Notes |
| 2 | + |
| 3 | +This document tries to provide some context about MLIR important changes in the |
| 4 | +context of LLVM releases. It is updated on a best effort basis. |
| 5 | + |
| 6 | +At the moment the MLIR community does not qualify the LLVM release branch |
| 7 | +specifically, it is a snapshot of the MLIR development at the time of the release. |
| 8 | + |
| 9 | +\[TOC\] |
| 10 | + |
| 11 | +## LLVM 17 |
| 12 | + |
| 13 | +See also the [deprecations and refactoring](https://mlir.llvm.org/deprecation/) doc. |
| 14 | + |
| 15 | +### Bytecode |
| 16 | + |
| 17 | +MLIR now support a [bytecode serialization](https://mlir.llvm.org/docs/BytecodeFormat/) |
| 18 | +with versionning compatibility allowing 2 ways compatibility scheme, and lazy-loading |
| 19 | +capabilities. |
| 20 | + |
| 21 | +### Properties: beyond attributes |
| 22 | + |
| 23 | +This is a new mechanism to implement storage for operations without having to |
| 24 | +use attributes. You can opt-in to use Properties for ODS inherent attributes |
| 25 | +using `let usePropertiesForAttributes = 1;` in your dialect definition (the flag |
| 26 | +will be default in the next release). See |
| 27 | +[slides](https://mlir.llvm.org/OpenMeetings/2023-02-09-Properties.pdf) and |
| 28 | +[recording](https://youtu.be/7ofnlCFzlqg) of the open meeting presentation for |
| 29 | +details. |
| 30 | + |
| 31 | +### Action: Tracing and Debugging MLIR-based Compilers |
| 32 | + |
| 33 | +[Action](https://mlir.llvm.org/docs/ActionTracing/) is a new mechanism to |
| 34 | +encapsulate any transformation of any granularity in a way that can be |
| 35 | +intercepted by the framework for debugging or tracing purposes, including |
| 36 | +skipping a transformation programmatically (think about “compiler fuel” or |
| 37 | +“debug counters” in LLVM). As such, “executing a pass” is an Action, so is “try |
| 38 | +to apply one canonicalization pattern”, or “tile this loop”. |
| 39 | + |
| 40 | +[slides](https://mlir.llvm.org/OpenMeetings/2023-02-23-Actions.pdf) and |
| 41 | +[recording](https://youtu.be/ayQSyekVa3c) of the open meeting presentation for |
| 42 | +details. |
| 43 | + |
| 44 | +### Transform Dialect |
| 45 | + |
| 46 | +See this [EuroLLVM talk](https://www.youtube.com/watch?v=P4gUj3QtH_Y&t=1s) and |
| 47 | +[the online tutorial](https://mlir.llvm.org/docs/Tutorials/transform/). |
| 48 | + |
| 49 | +### Others |
| 50 | + |
| 51 | +- There is now support for |
| 52 | + "[distinct attributes](https://mlir.llvm.org/docs/Dialects/Builtin/#distinctattribute)". |
| 53 | +- "Resources" (a way to store data outside the MLIR context) and "configuration" |
| 54 | + can now be serialized alongside the IR. |
0 commit comments