verify-patch-sanity.py validates every active recipe .patch has internally- consistent hunk line counts — catching the 'malformed patch at line N' failure at commit/CI/preflight time instead of hours into a cook. This cycle hit that class three times (qtwaylandscanner, sddm, xwayland), each only discovered when cookbook tried to apply the patch. Running it across the repo found 29 latent malformed patches (validated against GNU patch: e.g. relibc/P3-sysv-ipc reproduces 'malformed patch at line 22'). They were harmless only because they sit in vendored recipes (baked, not re- applied) — but would fail on any version-bump re-derivation. --fix recounts the hunk headers (body untouched) and repaired all 29. Wired into build-preflight.sh (Phase 1.0D) and redbear-ci.yml, with a unit test (test-patch-sanity.sh). Skips archived/legacy trees and unvalidatable formats (empty placeholders, bare-@@ git hunks).
2.6 KiB
MLIR Release Notes
This document tries to provide some context about MLIR important changes in the context of LLVM releases. It is updated on a best effort basis.
At the moment the MLIR community does not qualify the LLVM release branch specifically, it is a snapshot of the MLIR development at the time of the release.
[TOC]
LLVM 20
All the MLIR runners other than mlir-cpu-runner have been removed, as their functionality has been merged into it, and it has been renamed to mlir-runner.
LLVM 18
Properties: beyond attributes
See LLVM 17 notes below. The Dialect option let usePropertiesForAttributes = 1; is
now the default. You can set it to 0 to revert to the previous behavior. This will be
removed in LLVM 19.
LLVM 17
See also the deprecations and refactoring doc.
Bytecode
MLIR now support a bytecode serialization with versionning compatibility allowing 2 ways compatibility scheme, and lazy-loading capabilities.
Properties: beyond attributes
This is a new mechanism to implement storage for operations without having to
use attributes. You can opt-in to use Properties for ODS inherent attributes
using let usePropertiesForAttributes = 1; in your dialect definition (the flag
will be default in the next release). See
slides and
recording of the open meeting presentation for
details.
Action: Tracing and Debugging MLIR-based Compilers
Action is a new mechanism to encapsulate any transformation of any granularity in a way that can be intercepted by the framework for debugging or tracing purposes, including skipping a transformation programmatically (think about “compiler fuel” or “debug counters” in LLVM). As such, “executing a pass” is an Action, so is “try to apply one canonicalization pattern”, or “tile this loop”.
slides and recording of the open meeting presentation for details.
Transform Dialect
See this EuroLLVM talk and the online tutorial.
Others
- There is now support for "distinct attributes".
- "Resources" (a way to store data outside the MLIR context) and "configuration" can now be serialized alongside the IR.