There is a newer version of the record available.

Published March 4, 2025 | Version v0.29.0

xdslproject/xdsl: v0.29.0

Description

xDSL framework

  • core: reuse field definition functions across op definitions @superlopuh (#4016)
  • core: use ConstraintContext for inference @superlopuh (#4001)
  • core: split InferenceContext dictionaries @superlopuh (#4000)
  • core: Move SSAValue definitions around (NFC) @math-fehr (#3986)
  • core: remove indirection in operation cloning @EdmundGoodman (#3961)
  • core: Add check for blocks referenced without implementation @emmau678 (#3762)
  • core: relax typing on ParamAttrConstraint and MemRefType.constr @alexarice (#3902)
  • core: replace MLContext with Context @superlopuh (#3907)
  • core: remove constr from Attribute @alexarice (#3898)
  • core: remove field on assembly format parser @alexarice (#3895)
  • core: flatten assembly format class hierarchy @alexarice (#3893)

Dialects

  • dialects: (stablehlo) Add support for some unary and binary operations @Hatsunespica (#4014)
  • dialects: (stablehlo) Add support for xor and op operations @Hatsunespica (#3980)
  • bug: (x86) memory-to-register mv operation should not take two operands @qaco (#3967)
  • csl: (dialects) Change csl to use signless integers @n-io (#3966)
  • dialects: (qssa/qref/quantum) remove dialects @alexarice (#3955)
  • dialects: (builtin) fix VectorType scalable dimension representation @superlopuh (#3947)
  • dialects: (transform) move tests to filecheck and fix two ops @superlopuh (#3948)
  • bug: (x86) always remove the register/memory prefix from the emitted assembly @qaco (#3924)
  • backend: (x86) add the extended registers (eax, ecx...) @qaco (#3919)
  • dialects: (linalg) fix linalg.matmul to correctly store integer arg types @oluwatimilehin (#3903)
  • backend: (x86) Extend x86 AVX instructions to single-precision @qaco (#3887)
  • dialects: (builtin) remove AnyArrayAttr @alexarice (#3899)
  • backend: (x86) fix assembly when the offset of a memory access is 0 @qaco (#3888)

Transformations

  • backend: (x86) insert .global directives when lowering func.func @qaco (#3979)
  • dialects: (qssa/qref/quantum) remove dialects @alexarice (#3955)
  • backend: (x86) lowering of func.func and func.ret to x86_func @qaco (#3918)

Backend

  • backend: (riscv) use infinite register helper in more tests @superlopuh (#4011)
  • backend: add unallocated class method on RegisterType @superlopuh (#3974)
  • backend: (x86) use named register constants in ops file @superlopuh (#3985)
  • backend: (riscv) make LiOp and float binary ops not take str for rd @superlopuh (#3984)
  • backend: (x86) insert .global directives when lowering func.func @qaco (#3979)
  • backend: (riscv) use named unallocated registers instead of empty init @superlopuh (#3972)
  • bug: (x86) memory-to-register mv operation should not take two operands @qaco (#3967)
  • backend: (riscv) make rd unallocated by default @superlopuh (#3968)
  • bug: (libxsmm) fix the little matmul use case @qaco (#3956)
  • bug: (x86) fix the lowering of the function signature @qaco (#3938)
  • backend: add infinite_register class method to RegisterType @superlopuh (#3929)
  • backend: (x86) fix missing init.py files @superlopuh (#3943)
  • backend: (riscv) rename jx registers to j_x @superlopuh (#3934)
  • backend: (riscv) split out reserved int and float registers in regalloc @superlopuh (#3927)
  • backend: default register type constructor returns unallocated register @superlopuh (#3926)
  • backend: unify register type parsing @superlopuh (#3925)
  • backend: (x86) lowering of func.func and func.ret to x86_func @qaco (#3918)
  • backend: (x86) add the extended registers (eax, ecx...) @qaco (#3919)
  • misc: fix arguments for riscv_lowering @oluwatimilehin (#3900)
  • backend: (x86) fix register set coverage @compor (#3914)
  • backend: (x86) integration test (and documentation) of a small x86 matmul kernel @qaco (#3911)
  • backend: (x86) Extend x86 AVX instructions to single-precision @qaco (#3887)
  • backend: (x86) fix assembly when the offset of a memory access is 0 @qaco (#3888)

Interpreter

  • interpreter: (pdl) add operations directly in pdl.operation @jumerckx (#3949)
  • interpreter: add RISC-V interpreter functions for left shift and div instructions @oluwatimilehin (#3901)

πŸ—Ž Documentation

  • documentation: remove database example notebook @superlopuh (#4013)
  • documentation: use strict flag for building website and add to CI @superlopuh (#3993)
  • documentation: fix arith cmpi example in MLIR IR notebook @superlopuh (#3942)
  • documentation: Fix nits on the first marimo notebook @compor (#3933)
  • backend: (x86) integration test (and documentation) of a small x86 matmul kernel @qaco (#3911)
  • documentation: remove jupyter version of notebook @superlopuh (#3892)
  • documentation: hide more cells in marimo notebooks @superlopuh (#3891)

πŸ› Bug Fixes

  • bug: (x86) memory-to-register mv operation should not take two operands @qaco (#3967)
  • bug: (libxsmm) fix the little matmul use case @qaco (#3956)
  • bug: (x86) fix the lowering of the function signature @qaco (#3938)
  • backend: (x86) fix missing init.py files @superlopuh (#3943)
  • bug: (x86) always remove the register/memory prefix from the emitted assembly @qaco (#3924)
  • bug: (x86) Add a missing test in func to x86_func lowering @qaco (#3923)
  • core: Fix check for forward refs by checking for ssa refs instead of block refs @emmau678 (#3851)

Testing

  • testing: use importlib import mode in pytest @superlopuh (#3973)
  • testing: move assert_print_op definition to test_printer @superlopuh (#3971)
  • testing: remove assert_print_op from rewriters tests @superlopuh (#3970)
  • testing: (stencil) remove stencil printing test @superlopuh (#3957)
  • testing: move coverage config to pyproject.toml @superlopuh (#3959)
  • testing: remove func call printing tests @superlopuh (#3958)
  • testing: don't collect coverage data for tests @superlopuh (#3960)

Continuous Integration

  • ci: use ubuntu-latest in ci-mlir @superlopuh (#4019)
  • CI: Update uv lockfile @github-actions (#4017)
  • CI: Update uv lockfile @github-actions (#4005)
  • CI: fix RUN command in fsm and ltl lit tests @superlopuh (#3944)
  • CI: add ruff check for missing init.py files @superlopuh (#3945)
  • CI: Update uv lockfile @github-actions (#3952)
  • CI: set pytest asyncio_default_fixture_loop_scope @superlopuh (#3935)
  • CI: Update uv lockfile @github-actions (#3922)

Installation

  • pip prod(deps): bump marimo from 0.11.13 to 0.11.14 @dependabot (#4015)
  • pip prod(deps): bump marimo from 0.11.11 to 0.11.13 @dependabot (#4004)
  • pip prod(deps): bump ruff from 0.9.8 to 0.9.9 @dependabot (#4002)
  • pip prod(deps): bump pyright from 1.1.395 to 1.1.396 @dependabot (#4003)
  • dependencies: add viztracer and orjson to bench dependency group @superlopuh (#3994)
  • pip prod(deps): bump pyright from 1.1.394 to 1.1.395 @dependabot (#3982)
  • pip prod(deps): bump ruff from 0.9.7 to 0.9.8 @dependabot (#3983)
  • pip prod(deps): bump marimo from 0.11.10 to 0.11.11 @dependabot (#3981)
  • pip prod(deps): bump marimo from 0.11.9 to 0.11.10 @dependabot (#3977)
  • pip prod(deps): bump textual from 2.1.1 to 2.1.2 @dependabot (#3978)
  • pip prod(deps): bump jax from 0.5.0 to 0.5.1 @dependabot (#3963)
  • pip prod(deps): bump marimo from 0.11.8 to 0.11.9 @dependabot (#3962)
  • pip prod(deps): bump textual from 2.1.0 to 2.1.1 @dependabot (#3950)
  • pip prod(deps): bump marimo from 0.11.7 to 0.11.8 @dependabot (#3951)
  • pip prod(deps): bump textual from 2.0.4 to 2.1.0 @dependabot (#3939)
  • pip prod(deps): bump marimo from 0.11.6 to 0.11.7 @dependabot (#3940)
  • pip prod(deps): bump ruff from 0.9.6 to 0.9.7 @dependabot (#3941)
  • pip prod(deps): bump marimo from 0.11.5 to 0.11.6 @dependabot (#3931)
  • pip prod(deps): bump textual from 2.0.3 to 2.0.4 @dependabot (#3932)
  • pip prod(deps): bump pyright from 1.1.393 to 1.1.394 @dependabot (#3894)
  • pip prod(deps): bump marimo from 0.11.4 to 0.11.5 @dependabot (#3921)
  • pip prod(deps): bump textual from 1.0.0 to 2.0.3 @dependabot (#3920)
  • pip prod(deps): bump numpy from 2.2.2 to 2.2.3 @dependabot (#3904)
  • pip prod(deps): bump marimo from 0.11.2 to 0.11.4 @dependabot (#3905)

Miscellaneous

  • misc: make xDSL version getting lazy @superlopuh (#4012)
  • misc: ConstraintContext keys properties are abstract sets @superlopuh (#3999)
  • misc: store context as property on ParsingState @superlopuh (#3997)
  • misc: add init to xdsl frontend @superlopuh (#3975)
  • misc: escape code in docstrings @superlopuh (#3976)
  • misc: add comment for ignore_errors setting [NFC] @superlopuh (#3965)
  • misc: remove xdsl-opt file @superlopuh (#3954)
  • misc: shorten PR template @superlopuh (#3946)
  • core: remove field on assembly format parser @alexarice (#3895)

Benchmarking

  • bench: add gitignore file for profile outputs @EdmundGoodman (#4018)
  • bench: Add minimal ASV example @EdmundGoodman (#3936)

Files

xdslproject/xdsl-v0.29.0.zip

Files (1.8 MB)

Name Size Download all
md5:4df62658f94f8d482910412f53eafe02
1.8 MB Preview Download

Additional details

Related works

Software