Published August 21, 2025
| Version v0.50.0
Software
Open
xdslproject/xdsl: v0.50.0
Creators
- Sasha Lopoukhine
- Fehr Mathieu1
- Emilien Bauer2
- Alex Rice
- Anton Lydike3
- Nicolai Stawinoga
- Michel Weber
- Chris Vasiladiotis2
- Dalia Shaaban
- George Bisbas4
- Edmund Goodman1
- kingiler
- Nick Brown2
- jumerckx
- Tobias Grosser1
- David K
- kayode-gif
- Joren Dumoulin5
- Hugo Pompougnac
- Emma Urquhart
- Théo Degioanni6
- Hendrik_Klug
- KGrykiel
- Prathamesh Tagore
- Christian Ulmann7
- Max Manainen8
- 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
This release contains a change that we've been building towards for a very long time: the bitwidth of integer types is now represented in the Python type system, catching bugs earlier in compiler development.
from xdsl.dialects.builtin import I32, IntegerAttr, i32, i64
# This function expects an integer of type `i32`
def my_func(my_int: IntegerAttr[I32]): ...
# Pyright is happy
my_func(IntegerAttr(1, i32))
# Pyright complains!
my_func(IntegerAttr(1, i64))
In upcoming releases, we'll use this to annotate things like bitwidth of immediate values in insturction encodings, and more.
Changes
xDSL framework
- core: make
operation._successor_uses
public @jumerckx (#5081) - core: ((Operands|Results)Directive) refactor to allow multiple variadics @alexarice (#5059)
- core: check for i1 when printing bools @superlopuh (#5068)
Dialects
- dialects: (emitc) Make EmitC_ArrayType generically-specializable @Jimmy2027 (#5089)
- dialects: (emitc) use EmitCArrayElementType in ArrayType @Jimmy2027 (#5087)
- dialects: (vector) add vector.reduction and vector.kind @superlopuh (#5086)
- dialects: (x86) add shufps operation @superlopuh (#4880)
- dialects: (emitc) add EmitCArrayElementTypeConstr @Jimmy2027 (#5072)
- dialects: (builtin) make IntegerType generic over Signedness @superlopuh (#5075)
- dialects: (builtin) make SignednessAttr generic @superlopuh (#5074)
- dialects: (emitc) Add EmitCPointerWideTypeConstr @Jimmy2027 (#5070)
- dialect: (emitc) simplify EmitCFloatTypeConstr definition @Jimmy2027 (#5069)
- dialects: (builtin) make IntegerType generic over width type @superlopuh (#5065)
Transformations
- transformations: (convert-memref-to-ptr) add get_offset_pointer helper @superlopuh (#5085)
- transformations: (canonicalize) handle multiple canonicalization patterns traits @superlopuh (#5078)
Backend
- backend: integration harness @qaco (#5067)
🗎 Documentation
- documentation: (Toy) move canonicalization patterns into dialect definition @superlopuh (#5079)
- documentation: migrate expressions.md notebook to .py @superlopuh (#5073)
- documentation: add test page for mkdocs-marimo @tobiasgrosser (#5062)
Testing
- testing: (builtin) improve attrs filecheck @alexarice (#5071)
Continuous Integration
- CI: try adjusting renovate settings to fix dependency updating @superlopuh (#5084)
Installation
- dependencies: update dependency filecheck to v1.0.3 @renovate[bot] (#5066)
Miscellaneous
- misc: (Annotated) remove some easy uses @alexarice (#5080)
Files
xdslproject/xdsl-v0.50.0.zip
Files
(4.3 MB)
Name | Size | Download all |
---|---|---|
md5:5291b603ca6ec2b0841eb669a6142d81
|
4.3 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/xdslproject/xdsl/tree/v0.50.0 (URL)
Software
- Repository URL
- https://github.com/xdslproject/xdsl