Published October 11, 2024 | Version v0.23.0
Software Open

xdslproject/xdsl: v0.23.0

Description

xDSL framework

  • transforms: (canonicalize) Add full dce @alexarice (#3267)
  • core: Fix parsing for hex denseAttrs @vinayakdsci (#3239)
  • core: Block predecessors @alexarice (#3235)

Dialects

  • dialects: (llvm) Add support for overflow flags @lfrenot (#3269)
  • dialects: (cf) cond_br folding @alexarice (#3283)
  • dialects: (arith) split generic binary op definition into specific ones @superlopuh (#3274)
  • dialects: (llvm) ArithmeticBinOpBase is always on integers @superlopuh (#3270)
  • dialects: (mod_arith) create mod_arith dialect and add initial operation @emmau678 (#3218)
  • dialects: (stencil) add StencilType constraints @superlopuh (#3254)
  • dialects: (builtin) add AnyMemRefTypeConstr and AnyTensorTypeConstr @superlopuh (#3246)
  • dialects: (varith) Add varith (variadic arithmetic) dialect @AntonLydike (#3241)
  • dialects: (cf) br folding @alexarice (#3240)
  • dialects: (dmp) Emit multiple swaps if halo is larger than core size @AntonLydike (#3238)
  • tool: tblgen-to-py script @alexarice (#3210)
  • dialects: (stim) Add first annotation op @kimxworrall (#3115)
  • dialects: (cf) branch canonicalization. @alexarice (#3234)
  • dialects: (cf) Assert canonicalization pattern @alexarice (#3228)
  • dialects: (riscv) canonicalization pattern added (x|0=x) @lfrenot (#3230)
  • dialects: (stim) add qubit attribute and qubit coordinate attribute @kimxworrall (#3114)
  • dialects: (riscv) Add rewrite pattern to optimize bitwise xor by zero @emmau678 (#3197)
  • dialects: (tosa) turn attributes into properties @jorendumoulin (#3188)
  • dialects: (csl) add csl.activate @dk949 (#3191)
  • fix: various minor fixes for the csl variables @dk949 (#3184)
  • dialects: (scf) small refactor for index_switch @alexarice (#3178)
  • dialects: (eqsat) add dialect and create new eclass op @superlopuh (#3175)
  • dialects: (cf) add switch @alexarice (#3156)
  • dialects: (scf) add index_switch @alexarice (#3157)
  • dialects: llvm.InLineAsmOp has_side_effects, is_align_stack are properties @JosseVanDelm (#3147)
  • dialects: (scf) make iteration variable type explicit @alexarice (#3138)
  • dialects: (cf) Custom Parsing and assert change @alexarice (#3132)
  • dialects: (csl) Add direction type @n-io (#3136)
  • dialects: (csl) Adds variables to the dialect @dk949 (#3183)
  • dialects: (builtin) add i8 default types @jorendumoulin (#3164)
  • dialects: (scf) fix scf.if printing bug @alexarice (#3160)
  • dialects (tosa): initialize dialect and add Clamp and Rescale operation @jorendumoulin (#3158)

Transformations

  • dialects: (cf) cond_br folding @alexarice (#3283)
  • transformations: (lower-csl-stencil) Optimise full-stencil access @n-io (#3271)
  • transforms: (cf) fix passthrough operands @alexarice (#3282)
  • transformations: (memref-to-dsd) Support pre-existing GetMemDsd ops @n-io (#3279)
  • transforms: (canonicalize) Add full dce @alexarice (#3267)
  • fix: add extension to filename when calling set_tile_code @dk949 (#3268)
  • transforms: (dce) region-level dce @alexarice (#3253)
  • transformations: Add convert-arith-to-varith pass @AntonLydike (#3242)
  • transforms: (canonicalize) improve dead code elimination @alexarice (#3252)
  • dialects: (cf) br folding @alexarice (#3240)
  • transformations: (lower-csl-stencil) Promote args before outlining @n-io (#3237)
  • transformations: (memref-to-dsd) Handle csl variables @n-io (#3236)
  • dialects: (cf) branch canonicalization. @alexarice (#3234)
  • dialects: (cf) Assert canonicalization pattern @alexarice (#3228)
  • transformations: New stencil-shape-minimize pass @n-io (#3229)
  • transformations: New csl-stencil-materialize-stores pass @n-io (#3222)
  • transformations: (lower-csl-stencil) Send only core data @n-io (#3223)
  • transformations: (licm) add can_be_hoisted helper function @RRavikiran66 (#3078)
  • fix: (csl) adjusted width and height of the PE @dk949 (#3209)
  • transformations: Add CSL dsd canonicalisation @n-io (#3208)
  • transformations: (scf-to-cf) add lowering for index_switch @alexarice (#3179)
  • transformations: (lower-csl-stencil) Store results to apply.dest @n-io (#3203)
  • transformations: (csl-stencil-to-csl-wrapper) Add unblock_cmd_stream call @n-io (#3198)
  • transformations: (csl-stencil) Add pass to handle async ops and enclosing cf @n-io (#3192)
  • transformation: Scf to cf lowering @alexarice (#3153)
  • transformations: Add new csl-wrapper-hoist-buffers pass @n-io (#3165)
  • fix: Add the missing call to @set_rectangle @dk949 (#3149)
  • transformations: (csl) add csl.rpc op @dk949 (#3143)
  • transformations: Lower csl_wrapper.import to csl.import @dk949 (#3137)
  • transformations: Add pass to lower csl-stencil dialect @n-io (#3134)
  • transformations: from csl_wrapper to csl modules @dk949 (#3107)

Backend

  • backend: (csl) Array literals @n-io (#3292)
  • backend: (csl) Support zero-stride dsd printing @n-io (#3280)
  • backend: (csl) allow get_dir to be inlined @dk949 (#3202)
  • backend: (csl) added arith.select to csl backend @dk949 (#3199)
  • backend: (csl) Don't use CSL keywords as var names @dk949 (#3152)
  • fix: Minor corrections to the CSL backend @dk949 (#3142)
  • backend: (csl) Add comparison operators to CSL @dk949 (#3139)

Interpreter

  • interpreter: use interpreter default bitwidth in run main @superlopuh (#3034)

API

  • api: add replace_by_if helper to control ssa value replacement @superlopuh (#3196)

πŸ› Bug Fixes

  • transforms: (cf) fix passthrough operands @alexarice (#3282)
  • bug: Tighten type constraints on DenseArrayBase.create_dense_int_or_index @vinayakdsci (#3258)
  • transformations: (lower-csl-stencil) Promote args before outlining @n-io (#3237)
  • bug: Print csl namehint fix @n-io (#3207)
  • bug: (csl-stencil-handle-async-flow) Increment counter correctly @n-io (#3201)

Testing

  • transforms: (canonicalize) improve dead code elimination @alexarice (#3252)
  • dialects: (cf) br folding @alexarice (#3240)
  • core: Block predecessors @alexarice (#3235)
  • dialects: (cf) branch canonicalization. @alexarice (#3234)
  • dialects: (cf) Assert canonicalization pattern @alexarice (#3228)
  • transformations: (scf-to-cf) add lowering for index_switch @alexarice (#3179)
  • dialects: (cf) add switch @alexarice (#3156)
  • dialects: (scf) add index_switch @alexarice (#3157)
  • transformation: Scf to cf lowering @alexarice (#3153)
  • dialects: (scf) make iteration variable type explicit @alexarice (#3138)
  • dialects: (cf) Custom Parsing and assert change @alexarice (#3132)

Continuous Integration

  • Revert "pip prod(deps): bump jax from 0.4.31 to 0.4.32 (#3161)" @superlopuh (#3166)

Installation

  • pip prod(deps): bump marimo from 0.9.4 to 0.9.6 @dependabot (#3288)
  • pip prod(deps): bump textual from 0.82.0 to 0.83.0 @dependabot (#3289)
  • pip prod(deps): bump pyright from 1.1.345 to 1.1.384 @dependabot (#3278)
  • pip prod(deps): bump marimo from 0.9.2 to 0.9.4 @dependabot (#3266)
  • pip prod(deps): bump pre-commit from 4.0.0 to 4.0.1 @dependabot (#3265)
  • pip prod(deps): bump marimo from 0.9.1 to 0.9.2 @dependabot (#3257)
  • pip prod(deps): bump ruff from 0.6.8 to 0.6.9 @dependabot (#3256)
  • pip prod(deps): bump marimo from 0.9.0 to 0.9.1 @dependabot (#3249)
  • pip prod(deps): bump jax from 0.4.33 to 0.4.34 @dependabot (#3250)
  • pip prod(deps): bump numpy from 2.1.1 to 2.1.2 @dependabot (#3248)
  • pip prod(deps): bump pre-commit from 3.8.0 to 4.0.0 @dependabot (#3251)
  • pip prod(deps): bump marimo from 0.8.22 to 0.9.0 @dependabot (#3243)
  • pip prod(deps): bump textual from 0.81.0 to 0.82.0 @dependabot (#3244)
  • pip prod(deps): bump onnx from 1.16.2 to 1.17.0 @dependabot (#3232)
  • pip prod(deps): bump marimo from 0.8.20 to 0.8.22 @dependabot (#3226)
  • pip prod(deps): bump ruff from 0.6.5 to 0.6.8 @dependabot (#3219)
  • pip prod(deps): bump marimo from 0.8.17 to 0.8.20 @dependabot (#3215)
  • pip prod(deps): bump textual from 0.80.0 to 0.81.0 @dependabot (#3217)
  • pip prod(deps): bump textual from 0.79.1 to 0.80.0 @dependabot (#3212)
  • pip prod(deps): bump marimo from 0.8.15 to 0.8.17 @dependabot (#3193)
  • pip prod(deps): bump wgpu from 0.18.0 to 0.18.1 @dependabot (#3187)
  • pip prod(deps): bump jax from 0.4.31 to 0.4.33 @dependabot (#3177)
  • pip prod(deps): bump wgpu from 0.17.3 to 0.18.0 @dependabot (#3176)
  • pip prod(deps): bump marimo from 0.8.14 to 0.8.15 @dependabot (#3168)
  • pip prod(deps): bump ruff from 0.6.4 to 0.6.5 @dependabot (#3167)
  • pip prod(deps): bump wgpu from 0.16.0 to 0.17.3 @dependabot (#3163)
  • pip prod(deps): bump jax from 0.4.31 to 0.4.32 @dependabot (#3161)
  • pip prod(deps): bump filecheck from 1.0.0 to 1.0.1 @dependabot (#3150)
  • pip prod(deps): bump marimo from 0.8.13 to 0.8.14 @dependabot (#3159)
  • pip prod(deps): bump marimo from 0.8.11 to 0.8.13 @dependabot (#3151)
  • pip prod(deps): bump ruff from 0.6.3 to 0.6.4 @dependabot (#3148)
  • pip prod(deps): bump marimo from 0.8.7 to 0.8.11 @dependabot (#3146)
  • pip prod(deps): bump numpy from 2.1.0 to 2.1.1 @dependabot (#3140)

Miscellaneous

  • backend: (csl) Array literals @n-io (#3292)
  • misc: remove unnecessary pyright ignore comments [NFC] @superlopuh (#3286)
  • misc: use VarConstraint instead of Annotated[ConstraintVar] in operation definitions @superlopuh (#3264)
  • backend: (csl) Support zero-stride dsd printing @n-io (#3280)
  • transformations: (memref-to-dsd) Support pre-existing GetMemDsd ops @n-io (#3279)
  • misc: add more .constr helpers and constraints @superlopuh (#3273)
  • fix: add extension to filename when calling set_tile_code @dk949 (#3268)
  • misc: add pyright ignores for places where it's not going to be happy @superlopuh (#3263)
  • misc: miscellaneous linting wrt Pylance @superlopuh (#3262)
  • misc: minor linting @superlopuh (#3259)
  • transformations: (memref-to-dsd) Handle csl variables @n-io (#3236)
  • misc: re-run notebooks with newer version of marimo @superlopuh (#3227)
  • transformations: (lower-csl-stencil) Send only core data @n-io (#3223)
  • fix: (csl) adjusted width and height of the PE @dk949 (#3209)
  • bug: Print csl namehint fix @n-io (#3207)
  • backend: (csl) allow get_dir to be inlined @dk949 (#3202)
  • transformations: (lower-csl-stencil) Store results to apply.dest @n-io (#3203)
  • bug: (csl-stencil-handle-async-flow) Increment counter correctly @n-io (#3201)
  • transformations: (csl-stencil-to-csl-wrapper) Add unblock_cmd_stream call @n-io (#3198)
  • misc: raise instead of returning error in MemrefLayoutAttr.get_affine_map @superlopuh (#3182)
  • misc: remove redundant AnyAttr() constraints from op definitions [NFC] @superlopuh (#3181)
  • dialects: (scf) small refactor for index_switch @alexarice (#3178)
  • dialects: (csl) Add direction type @n-io (#3136)
  • enhancement: Changing names and namehints in the csl pipeline @n-io (#3204)

Files

xdslproject/xdsl-v0.23.0.zip

Files (1.5 MB)

Name Size Download all
md5:31fccfe1dd67742d41ae6158fd51a0aa
1.5 MB Preview Download

Additional details

Related works