Published August 8, 2025
| Version v0.48.0
Software
Open
xdslproject/xdsl: v0.48.0
Authors/Creators
- Sasha Lopoukhine
- Fehr Mathieu1
- Emilien Bauer2
- Alex Rice
- Anton Lydike3
- Nicolai Stawinoga
- Michel Weber
- Chris Vasiladiotis2
- Dalia Shaaban
- George Bisbas4
- kingiler
- Edmund Goodman1
- Nick Brown2
- Tobias Grosser1
- David K
- jumerckx
- kayode-gif
- Joren Dumoulin5
- Hugo Pompougnac
- ThΓ©o Degioanni6
- Emma Urquhart
- KGrykiel
- Prathamesh Tagore
- Christian Ulmann7
- Max Manainen8
- Hendrik_Klug
- Josse Van Delm9
- 1. University of Cambridge
- 2. University of Edinburgh
- 3. The University of Edinburgh
- 4. Imperial College of London
- 5. MICAS (KU Leuven)
- 6. NVIDIA
- 7. NextSilicon
- 8. Rivos Inc.
- 9. KU Leuven
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
IRWithUsesclass @math-fehr (#4907) - core: Abstract
usesfield fromIRWithUses@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 noprefixin 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
- CI: Update uv lockfile @github-actions[bot] (#4958)
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
- Is supplement to
- Software: https://github.com/xdslproject/xdsl/tree/v0.48.0 (URL)
Software
- Repository URL
- https://github.com/xdslproject/xdsl