There is a newer version of the record available.

Published February 19, 2026 | Version v0.57.0

xdslproject/xdsl: v0.57.0

Description

We moved our docs website! Now no longer on readthedocs, please navigate to docs.xdsl.dev.

Some breaking changes in this release:

ConstantLike is a trait again, for constant folding in the greedy rewriter please declare both the ConstantLike trait and implement HasFolderInterface.

The RISC-V dialect is in the process of getting split into three dialects, rv32 and rv64 ops where the op definitions have to be different for the 32- and 64-bit variants, and riscv for all functionality that is shared.

Deprecations:

IntegerAttr.from_int_and_width is deprecated in favor of the init.

Changes

  • dialects: (comb) Fix custom printing and parsing @JosseVanDelm (#5658)
  • Move docs to docs.xdsl.dev @tobiasgrosser (#5630)
  • ci: fix build directory of mkdocs @tobiasgrosser (#5629)
  • ci: put our docs on github pages @tobiasgrosser (#5628)
  • core: Fix detach_block to clear block pointers @wulu007 (#5627)

xDSL framework

  • core: deprecate IntegerAttr.from_int_and_width @superlopuh (#5665)
  • core: add type annotations to delimited helpers @superlopuh (#5662)
  • core: use ConstantLike + HasFolderInterface for constant op results @superlopuh (#5660)
  • core: Complete Use cleanup in drop_all_references @wulu007 (#5639)
  • core: factor out parsing/printing helpers for func outputs @sueszli (#5636)

Frontend

  • frontend: (pyast) support classmethods @Time0o (#5595)

Dialects

  • dialects: (llvm) Fix llvm.func op custom printing/parsing @JosseVanDelm (#5666)
  • dialects: (riscv) remove label immediate for shift constants @superlopuh (#5664)
  • dialects: (hw) Add hw.constant op @JosseVanDelm (#5659)
  • dialect: (rv64) add rv64.GetRegisterOp @osmanyasar05 (#5657)
  • dialects: (riscv) constant folding patterns for shift operations @osmanyasar05 (#5654)
  • dialects: (riscv) make get_constant_value agnostic @osmanyasar05 (#5648)
  • dialects: (riscv) canonicalization pattern added ( (x^a)^a -> x ) @shuaiting-li (#5653)
  • dialects: (riscv) add canonicalization pattern (x | 0 -> x) @monkberry71 (#5594)
  • dialects: (llvm) Implement custom format for FuncOp @sueszli (#5588)
  • dialects: (llvm) set default visibility and support extra attrs in FuncOp @sueszli (#5647)
  • dialects: (riscv) get_constant_value canonicalization @osmanyasar05 (#5643)
  • dialects: (riscv) add riscv32 and riscv64 load immediate instruction @osmanyasar05 (#5621)
  • dialects: (llvm): add result attributes to FuncOp @sueszli (#5640)
  • dialects: (llvm) PyTests for full coverage @sueszli (#5603)
  • dialects: (riscv) split into multiple files @superlopuh (#5622)
  • dialects: (llvm) deprecate LLVMArrayType constructor helper @superlopuh (#5623)
  • dialects: (pdl_interp) Add default empty region to foreach constructor @jumerckx (#5609)
  • dialects: (x86) drop () -> in get register ops @superlopuh (#5614)
  • dialects: (hw) Add bitcast op @AntonLydike (#5611)
  • dialects: (ematch) Add ematch dialect definitions @jumerckx (#5596)
  • dialects: (llvm) Implement custom format for llvm.return @sueszli (#5602)
  • dialects: (x86) standardise signedness of immediates @superlopuh (#5592)
  • dialects: (riscv) replace ImmAttr types with integer types @superlopuh (#5593)

Transformations

  • transformations: (convert-pdl-to-pdl-interp) Add eqsat instrumentation @jumerckx (#5585)
  • transformations: (apply-pdl-interp) Defer rewrite application @jumerckx (#5646)
  • transforms: (approximate-math-with-bitcast) Add support for math.log1p @AntonLydike (#5619)
  • transform: (approximate-math-with-bitcast) Pass fastmath flags through @AntonLydike (#5615)
  • transformations: (approximate-math-with-bitcast) Add base pass @AntonLydike (#5607)

Backend

  • backend: (llvm) convert simple memory ops @sueszli (#5578)
  • backend: raise error for infinite register clash during class definition @superlopuh (#5661)
  • backend: (llvm) convert casting operations @sueszli (#5576)
  • backend: (llvm) convert GEP @sueszli (#5579)
  • backend: (llvm) convert func call @sueszli (#5580)
  • backend: (llvm) convert int comparison operations @sueszli (#5577)
  • backend: (llvm) convert binary op flags @sueszli (#5582)
  • backend: (riscv) map infinite registers to physical registers @anominos (#5590)

Interpreter

  • interpreter: (pdl_interp) Add interpreter method for foreach @jumerckx (#5608)
  • interpreter: (pdl_interp) Remove unnecessary assert @jumerckx (#5610)
  • interpreter: (riscv) Convert to staticmethods @osmanyasar05 (#5612)

🗎 Documentation

  • documentation: expand CONTRIBUTING guide @sueszli (#5635)
  • documentation: remove references to readthedocs @superlopuh (#5631)
  • documentation: Create CONTRIBUTING.md @sueszli (#5604)
  • documentation: Fix Parameterized spelling and doc string. @ed741 (#5616)
  • documentation: Fix mlir_introduction notebook exercise @math-fehr (#5605)
  • documentation: add two hints to MLIR introduction notebook @tobiasgrosser (#5599)
  • docs: update mlir-introduction to marimo 0.17.8 @tobiasgrosser (#5598)

Continuous Integration

  • CI: add tests-quiet make target to spare terminal @superlopuh (#5624)
  • CI: deploy to website from main only, not PRs @superlopuh (#5632)
  • CI: replace pre-commit with prek @superlopuh (#5617)

Dependencies

Miscellaneous

  • documentation: Fix Parameterized spelling and doc string. @ed741 (#5616)

Rewriting

  • rewriting: Add replace_uses_with_if @jumerckx (#5613)
  • rewriting: dead code removal in GreedyRewritePatternApplier @jumerckx (#5485)

Tool

  • tool: (xdsl-opt) add diagnostic highlighting @alexarice (#5492)

Files

xdslproject/xdsl-v0.57.0.zip

Files (4.6 MB)

Name Size Download all
md5:d619d52e8f9a3da48e1b03c75c18ad9c
4.6 MB Preview Download

Additional details

Related works

Software