[Frontend] Remove unused includes (NFC) (#116927)
[llvm-project.git] / mlir / docs / ReleaseNotes.md
blobc98a6c0374acddbff70d745662d48b0b0fd8e5a1
1 # MLIR Release Notes
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.
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.
9 [TOC]
11 ## LLVM 18
13 ### Properties: beyond attributes
15 See LLVM 17 notes below. The Dialect option `let usePropertiesForAttributes = 1;` is
16 now the default. You can set it to 0 to revert to the previous behavior. This will be
17 removed in LLVM 19.
19 ## LLVM 17
21 See also the [deprecations and refactoring](https://mlir.llvm.org/deprecation/) doc.
23 ### Bytecode
25 MLIR now support a [bytecode serialization](https://mlir.llvm.org/docs/BytecodeFormat/)
26 with versionning compatibility allowing 2 ways compatibility scheme, and lazy-loading
27 capabilities.
29 ### Properties: beyond attributes
31 This is a new mechanism to implement storage for operations without having to
32 use attributes. You can opt-in to use Properties for ODS inherent attributes
33 using `let usePropertiesForAttributes = 1;` in your dialect definition (the flag
34 will be default in the next release). See
35 [slides](https://mlir.llvm.org/OpenMeetings/2023-02-09-Properties.pdf) and
36 [recording](https://youtu.be/7ofnlCFzlqg) of the open meeting presentation for
37 details.
39 ### Action: Tracing and Debugging MLIR-based Compilers
41 [Action](https://mlir.llvm.org/docs/ActionTracing/) is a new mechanism to
42 encapsulate any transformation of any granularity in a way that can be
43 intercepted by the framework for debugging or tracing purposes, including
44 skipping a transformation programmatically (think about “compiler fuel” or
45 “debug counters” in LLVM). As such, “executing a pass” is an Action, so is “try
46 to apply one canonicalization pattern”, or “tile this loop”.
48 [slides](https://mlir.llvm.org/OpenMeetings/2023-02-23-Actions.pdf) and
49 [recording](https://youtu.be/ayQSyekVa3c) of the open meeting presentation for
50 details.
52 ### Transform Dialect
54 See this [EuroLLVM talk](https://www.youtube.com/watch?v=P4gUj3QtH_Y&t=1s) and
55 [the online tutorial](https://mlir.llvm.org/docs/Tutorials/transform/).
57 ### Others
59 - There is now support for
60   "[distinct attributes](https://mlir.llvm.org/docs/Dialects/Builtin/#distinctattribute)".
61 - "Resources" (a way to store data outside the MLIR context) and "configuration"
62   can now be serialized alongside the IR.