v0.20.0
github-actions
released this
06 Jun 12:30
·
583 commits
to refs/heads/main
since this release
xDSL framework
- core: unify (Pattern)Rewriter insertion and inlining APIs around InsertPoint @superlopuh (#2660)
- core: (irdl) Allow ClassVar with all uppercase name @AntonLydike (#2687)
- core: implement RangeConstraint and use it without functional change @PapyChacal (#2675)
- core: add
inline_block_at_location
toPatternRewriter
@superlopuh (#2664) - core: make AttrConstraint frozen @superlopuh (#2659)
- core: preserve name hints when replacing ops with multiple results @superlopuh (#2655)
- rewriting: Add convert-ml-program-to-memref @superlopuh (#2580)
- core: Implement a simplified MemoryEffect interface. @PapyChacal (#2640)
- core: Make printer scoped. @PapyChacal (#2614)
- core: Implement and test eq and hash on OpOperands. @PapyChacal (#2639)
- core: Expect Data's carried type to be Hashable. @PapyChacal (#2630)
- core: Refactor irdl_op_definition @math-fehr (#2575)
- core: fix line numbers in split input mode. @PapyChacal (#2563)
- core: Block inlining API improvements @PapyChacal (#2572)
- core: Strip multi-digit suffixes in name_hint, not only single-digit. @PapyChacal (#2551)
- core: Fix xDSL printing multiple values with the same name. @PapyChacal (#2545)
- core: add argument and result types getters to CallableOpInterface @superlopuh (#2535)
- core: Allowing overload of ClassVar from superclass @n-io (#2690)
Dialects
- dialects: (memref_stream) add a verifier for order of iterator types in memref_stream.generic @superlopuh (#2680)
- dialects: (riscv_func) mark riscv_func.func as isolated from above @superlopuh (#2669)
- dialects: (memref_stream) use memref_stream iterator type, not linalg @superlopuh (#2665)
- dialects: (riscv) mark assembly region as isolated from above @superlopuh (#2668)
- dialects: [arith] Add extended multiplication operations @math-fehr (#2670)
- dialects: (onnx) Add onnx.Sigmoid @alecerio (#2479)
- dialects: stencil: more canonicalization @PapyChacal (#2645)
- dialects: (x86) - AVX registers + some instructions (bonus PR!) @KGrykiel (#2586)
- dialects: Update arith, math, scf and stencil side-effect traits. @PapyChacal (#2641)
- dialects: stencil: Add canonicalization patterns and related traits. @PapyChacal (#2623)
- dialects: (csl) Added operations to manage symbols @dk949 (#2616)
- dialects: arith.constant is Pure (no side effects) @PapyChacal (#2632)
- dialects: (csl) Adding Constructors for
comptime_struct
andcolor
, as well as somelayout
functions. @dk949 (#2612) - dialects: (csl) Added call op and tasks @dk949 (#2603)
- dialects: (hw) Add hw.module.extern @Moxinilian (#2597)
- core: Add irdl.base @math-fehr (#2581)
- dialects: (csl) Added basic types @dk949 (#2594)
- dialects: (csl) Add csl dialect ops @AntonLydike (#2591)
- dialects: (x86) PR20 - remaining x86Lite instructions + cleanup (season finale) @KGrykiel (#2573)
- dialects: (x86) PR19 - move assembly helpers to separate class @KGrykiel (#2570)
- dialects: (x86) PR18 - m_pop + added rsp dataflow to push @KGrykiel (#2560)
- dialects: (memref_stream) add StridePattern @superlopuh (#2548)
- dialects: (x86) PR17 - m_idiv and single operand imul @KGrykiel (#2558)
- dialects: (x86) PR16 - Conditional Jumps @KGrykiel (#2552)
- dialects: (onnx) add onnx.Squeeze @alecerio (#2489)
- dialects: (x86) PR15 - S Operations @KGrykiel (#2539)
- dialects: Implement helpers on stencil attributes and simplify shape inference. @PapyChacal (#2517)
- dialects: (x86) PR14 - Labels and Directives @KGrykiel (#2538)
- dialects: (x86) - mem access helper @KGrykiel (#2537)
- dialects: (linalg) add linalg.sub @superlopuh (#2533)
- dialects: (x86) PR13 - M Operations @KGrykiel (#2531)
- dialects: (x86) PR12 - IDivOP (register version) @KGrykiel (#2530)
- dialects: (x86) PR11 - RMI Operations @KGrykiel (#2529)
- dialects: (x86) PR10 - RRI Operations @KGrykiel (#2524)
- dialects: Implement llvm.mlir.zero @PapyChacal (#2527)
- Dialects: (csl) Simplify DSD types in IR @n-io (#2683)
- Dialects: (csl) adding dsd ops @n-io (#2674)
- dialects: (csl) Data structure descriptors @n-io (#2648)
- api: Fixed builtin.DenseArrayBase not supporting IndexType @watermelonwolverine (#2633)
- dialects: (csl) add modules @dk949 (#2602)
- dialects: (hw) Add HWModuleLike trait @Moxinilian (#2577)
Transformations
- transformations: Handle imperfect loop nest when lowering memref_stream.generic to loops @superlopuh (#2678)
- transformations: add memref-stream-unnest-out-parameters @superlopuh (#2677)
- transformations: linalg.generic to loops factor out some helpers @superlopuh (#2662)
- transformations: linalg.generic to loops uses InsertPoint @superlopuh (#2661)
- transformations: scf-for-loop-folding handle iter args @superlopuh (#2657)
- transforms: Add function-constant-pinning pass to specialize functions @AntonLydike (#2389)
- transformations: fold scf loops instead of riscv_scf @superlopuh (#2656)
- transformations: Stencil shape inference fixes @PapyChacal (#2595)
- transformations: CSE: Refactor for reuse-friendliness @PapyChacal (#2642)
- transformations: Implement generic CSE. @PapyChacal (#2631)
- dialects: arith.constant is Pure (no side effects) @PapyChacal (#2632)
- transformations: fix memref_streamify non idempotency and wrong maps for outs @superlopuh (#2589)
- transformations: (riscv) handle f64 lowering in int to float conversion @superlopuh (#2561)
- transformations: (convert-snrt-to-riscv) Add lowerings for even more info ops @AntonLydike (#2428)
- transformations: implement stencil-tensorize-z-dimension @n-io (#2516)
- transforms: (convert-snrt-to-riscv) Add smaller number of ops @AntonLydike (#2559)
- transformations: Fix mlir opt printing to stderr @AntonLydike (#2553)
- transformations: stencil conversion fixes and improvements @PapyChacal (#2526)
- transformation: stencil shape inference fixes @PapyChacal (#2522)
- transformations: handle scalar arguments to generic ops when lowering @superlopuh (#2543)
- transformations: Implement and test
memref-to-gpu
. @PapyChacal (#2542) - transformations: (riscv_scf) add a pass to fuse perfectly nested loops @superlopuh (#2540)
- transformations: add malloc to riscv function call lowering @superlopuh (#2532)
- dialects: Implement helpers on stencil attributes and simplify shape inference. @PapyChacal (#2517)
- transformations: add onnx.Sub to linalg lowering @superlopuh (#2534)
- transformations: Switch MPI lowering to use llvm.mlir.zero @PapyChacal (#2528)
Backend
- backend: (csl) Added printing for
param
,comptime_struct
and some builtins @dk949 (#2684) - backend: (csl) Maths and memory operation printing @dk949 (#2676)
- backend: (csl) printing for functions, tasks and layout related things @dk949 (#2647)
- backend: (riscv) reduce register pressure for stream configuration @superlopuh (#2621)
- backend: (riscv) Don't make unreserved registers available @superlopuh (#2620)
- backend: (riscv) Allocate ub and step before loop, and lb after @superlopuh (#2619)
- backend: (csl) Add printing some scf and memref features @dk949 (#2610)
- backend: (csl) Add printing for CSL dialect ops @AntonLydike (#2593)
- backend: (riscv) flatten loops that don't use induction variables @superlopuh (#2585)
- backend: (riscv) use fcvt.d.w for integer-valued float constants @superlopuh (#2583)
- backend: (snitch) insert fmv ops when necessary when lowering streams @superlopuh (#2574)
- backend: (riscv) move results of lowered riscv_scf.for loops @superlopuh (#2568)
Interpreter
- misc: Implement and test dynamic IRDL dialect registering. @PapyChacal (#2654)
- interpreter: use function type when parsing xdsl-run arguments @superlopuh (#2536)
- interpreter: (riscv) add fmv.d implementation @superlopuh (#2571)
🗎 Documentation
- docs: Change link to pr title formatting @AntonLydike (#2637)
- documentation: superscript i @superlopuh (#2622)
🐛 Bug Fixes
- backend: (riscv) Don't make unreserved registers available @superlopuh (#2620)
- backend: (riscv) Allocate ub and step before loop, and lb after @superlopuh (#2619)
- core: Strip multi-digit suffixes in name_hint, not only single-digit. @PapyChacal (#2551)
Testing
- testing: unflatten the loops with iteration arguments in bottom-up tests @superlopuh (#2658)
- testing: fix affine maps in matmul test @superlopuh (#2666)
- tests: Fix broken filecheck @AntonLydike (#2667)
- testing: represent kernels with no reduction in linalg.generic on memrefs @superlopuh (#2590)
- testing: make loop bounds match parallel iterators in bottom-up test @superlopuh (#2588)
- testing: (snitch) bottom-up tests have no riscv @superlopuh (#2579)
- testing: raise riscv_scf to scf in bottom-up tests @superlopuh (#2578)
- testing: no more inout parameters in bottom-up test @superlopuh (#2565)
- testing: remove dense test kernel from bottom-up tests @superlopuh (#2564)
- testing: use arith in bottom-up tests @superlopuh (#2562)
- testing: update matmul bottom-up test @superlopuh (#2547)
Installation
- pip prod(deps): bump ruff from 0.4.7 to 0.4.8 @dependabot (#2691)
- pip prod(deps): bump ruff from 0.4.6 to 0.4.7 @dependabot (#2681)
- pip prod(deps): update typing-extensions requirement from <4.12,>=4.7 to >=4.7,<4.13 @dependabot (#2644)
- pip prod(deps): bump ruff from 0.4.5 to 0.4.6 @dependabot (#2653)
- pip prod(deps): bump textual from 0.63.1 to 0.63.2 @dependabot (#2635)
- pip prod(deps): bump onnx from 1.16 to 1.16.1 @dependabot (#2636)
- Fix typing-extensions version @math-fehr (#2638)
- pip prod(deps): bump ruff from 0.4.4 to 0.4.5 @dependabot (#2627)
- pip prod(deps): bump textual from 0.62.0 to 0.63.1 @dependabot (#2625)
- pip prod(deps): bump pytest-asyncio from 0.23.6 to 0.23.7 @dependabot (#2607)
- pip prod(deps): bump textual from 0.61.1 to 0.62.0 @dependabot (#2613)
- pip prod(deps): bump textual from 0.60.1 to 0.61.1 @dependabot (#2608)
- pip prod(deps): bump textual from 0.60.0 to 0.60.1 @dependabot (#2601)
- pip prod(deps): bump textual from 0.59.0 to 0.60.0 @dependabot (#2587)
- dependencies: Update riscemu to 2.2.6 @AntonLydike (#2584)
- pip prod(deps): bump wgpu from 0.15.1 to 0.15.2 @dependabot (#2582)
- pip prod(deps): bump textual from 0.58.1 to 0.59.0 @dependabot (#2566)
- pip prod(deps): bump pre-commit from 3.7.0 to 3.7.1 @dependabot (#2567)
- installation: Add nix flake @alexarice (#2554)
- pip prod(deps): bump ruff from 0.4.3 to 0.4.4 @dependabot (#2556)
- pip prod(deps): bump ruff from 0.4.2 to 0.4.3 @dependabot (#2541)
Miscellaneous
- misc: Implement and test dynamic IRDL dialect registering. @PapyChacal (#2654)
- transformations: Stencil shape inference fixes @PapyChacal (#2595)
- misc: TestLowerSnitchStreamToAsm inherits from PipelinePass [NFC] @superlopuh (#2546)
- misc: print offending op in IsolatedFromAbove trait verification error @superlopuh (#2569)
- installation: Add nix flake @alexarice (#2554)
- core: Strip multi-digit suffixes in name_hint, not only single-digit. @PapyChacal (#2551)
- transformations: Implement and test
memref-to-gpu
. @PapyChacal (#2542)
Interactive
- interactive: some minor typing fixes in xdsl-gui @superlopuh (#2649)
- interactive: check for missing required fields before updating pipeline @superlopuh (#2557)