Published October 2, 2026 | Version v0.72.0

xdslproject/xdsl: v0.72.0

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_select for arith.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_switch interpreter @tameTNT (#6464)
  • interpreter: (transform) add matching on op names @superlopuh (#6491)
  • interpreter: (transform) accept multiple ops @superlopuh (#6486)
  • interpreter: (scf) scf.while interpreter @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.condition interpreter @tameTNT (#6480)
  • interpreter: (scf) Fix argument and return types in scf interpreter @tameTNT (#6477)
  • interpreter: (arith) Implement run_select for arith.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

Software