Published October 2, 2026
| Version v0.72.0
Software
Open
xdslproject/xdsl: v0.72.0
Authors/Creators
- Sasha Lopoukhine
- Mathieu Fehr1
- Alex Rice
- Emilien Bauer2
- Anton Lydike3
- jumerckx
- Nicolai Stawinoga4
- Yahya Jabary
- Nick Brown2
- Tobias Christian Grosser1
- Michel Weber
- Chris Vasiladiotis2
- Dalia Shaaban
- Edmund Goodman1
- kingiler
- David K
- Hugo Pompougnac
- Joren Dumoulin5
- kayode-gif
- Emma Urquhart
- Hendrik_Klug
- Théo Degioanni4
- Josse Van Delm6
- KGrykiel
- Christian Ulmann7
- Prathamesh Tagore8
- Max Manainen9
- Jake10
- 1. University of Cambridge
- 2. University of Edinburgh
- 3. The University of Edinburgh
- 4. NVIDIA
- 5. MICAS (KU Leuven)
- 6. KU Leuven
- 7. NextSilicon
- 8. ETH Zürich
- 9. Rivos Inc.
- 10. EPCC, The University of Edinburgh
Description
Changes
- dialects: (transform) custom syntax for structured.tile_using_for @dipo101 (#6452)
- core: move EnumAttribute to dialect utilities @be-student (#6430)
xDSL framework
- core: (Constraints) split ConstraintContext in two @alexarice (#6494)
- core: use start/stop in for loop printing helpers @superlopuh (#6495)
- core: load dialects lazily in irdl_to_pyrdl @superlopuh (#6489)
- core: add parse_optional to FunctionalTypeDirective @superlopuh (#6476)
- core: make AttrSetConstraint repr valid Python @superlopuh (#6466)
Frontend
- frontend: remove deprecated CodeContext @superlopuh (#6457)
Dialects
- dialects: (omp) Adds taskwait and task yield operations @mesham (#6502)
- dialects: (x86_scf) use ValueError for ub and step reporting @superlopuh (#6497)
- dialects: (linalg) return TilingResult when tiling @superlopuh (#6487)
- dialects: (transform) add custom verifier to structured.tile_using_for @superlopuh (#6488)
- dialects: (riscv_scf, x86_scf) use op name in error strings @superlopuh (#6470)
- dialects: (seq) use assembly format in clock_div @superlopuh (#6469)
- dialects: (tensor) use assembly format for insert and extract @superlopuh (#6462)
- dialects: (linalg) Report mismatched elementwise shapes as a verify error @mohitt31 (#6427)
- dialects: (transform) custom syntax for structured.match @dipo101 (#6459)
- dialects: use builtin.DYNAMIC_INDEX instead of redefining it @dipo101 (#6458)
- tests: (linalg) write the tensor tiling cases in custom syntax @dipo101 (#6448)
- dialects: (linalg) verify the shapes and body of structured ops @dipo101 (#6449)
- dialects: (arith) Preserve special values when folding division by zero @AdemVessell (#6435)
- interpreter: (arith) Implement
run_selectforarith.select@jumerckx (#6352) - dialects: add memref.assume_alignment @be-student (#6431)
- dialects: (builtin) Preserve signed zero in FloatData equality @AdemVessell (#6434)
Transformations
- transformations: (transform-interpreter) register printf for debugging @superlopuh (#6471)
- transformations: (lower-riscv-scf-to-labels) remove redundant pass @superlopuh (#6467)
- transformations: (scf) Require exact tiling before loop flattening @AdemVessell (#6437)
- transformations: (scf) Require positive factors for loop range folding @AdemVessell (#6436)
Backend
- backend: (llvm) reject unsupported call operand-bundle fields @AdemVessell (#6443)
Interpreter
- interpreter: (scf)
scf.index_switchinterpreter @tameTNT (#6464) - interpreter: (transform) add matching on op names @superlopuh (#6491)
- interpreter: (transform) accept multiple ops @superlopuh (#6486)
- interpreter: (scf)
scf.whileinterpreter @tameTNT (#6481) - interpreter: (linalg) Use runtime shapes for structured op bounds @AdemVessell (#6444)
- interpreter: (transform) we can apply passes only to modules @superlopuh (#6478)
- interpreter: (scf)
scf.conditioninterpreter @tameTNT (#6480) - interpreter: (scf) Fix argument and return types in scf interpreter @tameTNT (#6477)
- interpreter: (arith) Implement
run_selectforarith.select@jumerckx (#6352)
🗎 Documentation
- documentation: (utils) Improve ScopedDict doc-strings @ed741 (#6492)
- documentation: switch to zensical @superlopuh (#6475)
- documentation: remove unused marimo and makdocs-marimo plugins @superlopuh (#6474)
- documentation: move reference generation to separate build step @superlopuh (#6468)
- documentation: generate marimo notebooks in separate build step @superlopuh (#6456)
- documentation: generate wheels in separate step before building/serving @superlopuh (#6455)
Testing
- testing: add config for debugging current Python file @superlopuh (#6485)
- testing: use mocking for scf interpreter tests @superlopuh (#6482)
Continuous Integration
- CI: run coverage collection on 3.14 instead of 3.13 @superlopuh (#6490)
- CI: switch to basedpyright for type checking @superlopuh (#6473)
Dependencies
- dependencies: update dependency basedpyright to v1.40.1 @renovate[bot] (#6484)
- dependencies: update dependency ruff to v0.16.9 @renovate[bot] (#6483)
- dependencies: set minimum typing-extensions version to 4.13.0 @superlopuh (#6465)
- dependencies: update dependency llvmlite to ~=0.49.0 @renovate[bot] (#6454)
- dependencies: update dependency heir-py to v2026.9.1 @renovate[bot] (#6433)
- dependencies: update dependency ruff to v0.16.8 @renovate[bot] (#6453)
- dependencies: update dependency ruff to v0.16.7 @renovate[bot] (#6446)
Miscellaneous
- documentation: (utils) Improve ScopedDict doc-strings @ed741 (#6492)
- misc: fix some type errors caught by pyright-main @alexarice (#6460)
- misc: fix small type error @alexarice (#6447)
Files
xdslproject/xdsl-v0.72.0.zip
Files
(4.9 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:eb8ea789ed9e7bed3ec5d08b8cbe4aea
|
4.9 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/xdslproject/xdsl/tree/v0.72.0 (URL)
Software
- Repository URL
- https://github.com/xdslproject/xdsl