Published August 21, 2025 | Version v0.50.0
Software Open

xdslproject/xdsl: v0.50.0

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

Software