There is a newer version of the record available.

Published August 8, 2025 | Version v0.48.0

xdslproject/xdsl: v0.48.0

Description

Changes

  • core: inherit traits from parent classes @superlopuh (#4951)
  • dialects: (x86) add MemoryReadEffect to DM_Operation @superlopuh (#4945)
  • dialects: (hlfir) fixed miss-matched order of operands @mesham (#4936)

xDSL framework

  • core: (Operation) Use descriptors for attributes/properties @alexarice (#4990)
  • core: add OpSelector for easier matching @superlopuh (#4973)
  • frontend: (pyast): pdl rewrite example for simple erasure case @EdmundGoodman (#4948)
  • frontend: (pyast) add post transforms list to builder @EdmundGoodman (#4980)
  • core: move out KIND_BY_PUNCTUATION_SPELLING in MLIR lexer @superlopuh (#4972)
  • core: (Operation) optimise accessors @alexarice (#4933)
  • core: Operation operands and results are SSAValues @superlopuh (#4963)
  • core: unify VarOperand and VarOpResult in to SSAValues @superlopuh (#4962)
  • core: speed up parsing of large constant tensors @ice-tong (#4834)
  • core: add support for string types in Pass definitions @superlopuh (#4955)
  • core: speed up checking for uses @superlopuh (#4942)
  • frontend: (pyast) refactor pyast new API builder into re-usable helper functions @EdmundGoodman (#4861)
  • core: (Assembly Format) simplify typing @alexarice (#4929)
  • core: add ConstraintConvertible for values that correspond to Attribute classes @superlopuh (#4912)
  • core: (ParametrizedAttribute) add converters @alexarice (#4755)
  • core: (Assembly Format) add ref directive @alexarice (#4921)
  • core: Use linked list for SSAValue uses @math-fehr (#4909)
  • core: remove deprecated isattr @superlopuh (#4918)
  • core: (AssemblyFormat) add missing errors for duplicate keys @alexarice (#4920)
  • core: remove MLContext @superlopuh (#4917)
  • core: Remove len from IRUses @math-fehr (#4908)
  • core: Add useful methods to IRWithUses class @math-fehr (#4907)
  • core: Abstract uses field from IRWithUses @math-fehr (#4906)
  • core: (assembly-format) custom directives @alexarice (#4829)
  • core: handle VarConstraint in attr/prop directive @superlopuh (#4913)
  • core: add special handling of DenseArrayBase in assembly format @superlopuh (#4911)
  • core: factor out UniqueBase and UniqueTypeAttributeVariable directives @superlopuh (#4903)

Dialects

  • dialects: (tosa) Add MaxPool and AvgPool Operation @JonasCrols (#4978)
  • dialects: (tensor) Add comments for each operation and alphabetical order in dialect definition @mesham (#4979)
  • dialects: (tensor) Add splat operation @mesham (#4976)
  • dialects: (dlti) Add getitems to entry map attributes @mesham (#4971)
  • dialects: (dlti) Add initialisation convenience from dictionary and python types @mesham (#4952)
  • dialects: (vector) vector broadcast from vector @superlopuh (#4960)
  • dialects: (ptr) canonicalize PtrAdd with zero @superlopuh (#4953)
  • dialects: (x86) fix constant offset canonicalization @superlopuh (#4950)
  • dialects: (tosa) Add support for tosa.matmul @jakedves (#4935)
  • dialects: (cf) use custom assembly for switch @alexarice (#4939)
  • dialects: (x86_func) print visibility and .text directive @superlopuh (#4943)
  • dialects: (x86) print .intel_syntax noprefix in assembly @superlopuh (#4944)
  • dialects: (dlti) add mapattr @mesham (#4934)
  • dialects: (dlti) Add TargetDeviceSpecAttr and TargetSystemSpecAttr @mesham (#4924)
  • dialects: (linalg) add reduction operation to linalg dialect @mesham (#4919)
  • dialects: (memref) use DynamicIndexList @alexarice (#4915)
  • dialects: (vector) use DynamicIndexList in vector.insert @alexarice (#4914)
  • dialects: (tosa) implement trig operations @jakedves (#4904)
  • dialects: (vector) use custom assembly for vector.extract @alexarice (#4883)
  • dialects: (linalg) Broadcast and transpose op init methods take sequence of result types @mesham (#4892)

Transformations

  • transformations: (convert-memref-to-ptr) replace op list with builder @superlopuh (#4981)
  • transformations: (eqsat) eqsat-create-egraphs @jumerckx (#4975)
  • transformations: (memref-stream-interleave) extract factor helpers @superlopuh (#4954)
  • transformations: add split-load-extract for manual optimization @superlopuh (#4966)
  • transformations: add x86-infer-broadcast @superlopuh (#4965)
  • transformations: (convert-arith-to-x86) fix cast in lowering @superlopuh (#4946)

Backend

  • backend: raise OutOfRegisters if we have to spill during regalloc @superlopuh (#4977)
  • backend: enforce linearity of inout operands @superlopuh (#4947)

Interpreter

  • interpreter: (eqsat) Full rebuilding @jumerckx (#4851)
  • interpreter: (linalg) handle tensors in linalg.generic interpreter @superlopuh (#4856)

πŸ—Ž Documentation

  • documentation: modify styles of documentation site to a new xDSL colour scheme @EdmundGoodman (#4809)

πŸ› Bug Fixes

  • dialects: (x86) fix constant offset canonicalization @superlopuh (#4950)

Continuous Integration

Installation

  • dependencies: update dependency ruff to v0.12.8 @renovate[bot] (#4986)
  • dependencies: update pre-commit hook astral-sh/ruff-pre-commit to v0.12.8 @renovate[bot] (#4987)
  • dependencies: update dependency marimo to v0.14.16 @renovate[bot] (#4949)
  • dependencies: update dependency marimo to v0.14.15 @renovate[bot] (#4937)
  • dependencies: update dependency ruff to v0.12.7 @renovate[bot] (#4926)
  • dependencies: update pre-commit hook astral-sh/ruff-pre-commit to v0.12.7 @renovate[bot] (#4927)
  • dependencies: update dependency ruff to v0.12.6 @renovate[bot] (#4925)

Miscellaneous

  • misc: use contextmanager annotation for ImplicitBuilder @superlopuh (#4974)
  • misc: (Assembly Format) add set_types @alexarice (#4938)
  • misc: (Assembly Format) add more getters/setters @alexarice (#4928)
  • misc: (Format parser) use in_parens @alexarice (#4923)
  • misc: (Assembly Format) miscellaneous cleanups @alexarice (#4922)
  • misc: (ParametrizedAttribute) remove deprecated init @alexarice (#4916)

Interactive

  • interactive: remove individual rewrites from GUI @superlopuh (#4970)
  • interactive: pass context to iter_condensed_passes @superlopuh (#4969)
  • interactive: only show individual rewrites in "condense" mode @superlopuh (#4956)
  • interactive: display pass spec in gui always @superlopuh (#4959)

Files

xdslproject/xdsl-v0.48.0.zip

Files (4.2 MB)

Name Size Download all
md5:cf45bcae30c28956c13571633a45c250
4.2 MB Preview Download

Additional details

Related works

Software