Releases: xdslproject/xdsl
Releases · xdslproject/xdsl
v0.19.0
Changes
xDSL framework
- core: Implement HasAncestor. @PapyChacal (#2514)
- core: Factor out visibility keyword parsing @Moxinilian (#2507)
- core: Handling true and false literals in DenseBaseAttr @mesham (#2492)
- core: Implement TypedAttribute, leverage in declarative assembly format. @PapyChacal (#2493)
- core: Remove redundant output from IRDLOperation's verification error. @PapyChacal (#2481)
- core: Implement unqualified attributes in declarative syntax. @PapyChacal (#2480)
- core: Implement MessageConstraint @PapyChacal (#2474)
- core: Fix OptionallyParsableDirective. @PapyChacal (#2475)
Dialects
- dialects: (x86) PR9 - MI Operations @KGrykiel (#2519)
- dialects: (x86): RI Operations adjustment @KGrykiel (#2518)
- dialects: (x86) PR8 - MR Operations @KGrykiel (#2510)
- dialects: (hw) Fix printing of module visibility @Moxinilian (#2512)
- dialects: Factor out sym_visibility parsing in all dialects @Moxinilian (#2513)
- dialects: (x86) PR7 - RI Operations @KGrykiel (#2502)
- dialects: Implement stencil custom syntax @PapyChacal (#2501)
- dialects: Simplify stencil's offset mapping implementation @PapyChacal (#2509)
- dialects: stencil IRDL update. @PapyChacal (#2500)
- dialects: (hw) Add visibility keyword to hw.module @Moxinilian (#2508)
- dialects: (HLFIR) Addition of the HLFIR dialect @mesham (#2491)
- dialects: (x86) PR6 - RM Operations @KGrykiel (#2490)
- dialects: (hw) Revert HWModuleOp's usage of InnerRefNamespaceTrait @Moxinilian (#2498)
- dialects: (hw) Add hw.instance operation @Moxinilian (#2486)
- dialects: (x86) - Reformats and changes in naming convention @KGrykiel (#2487)
- dialects: (fir) Update to the MLIR hash version of FIR that we use @mesham (#2476)
- dialects: (onnx) add onnx.Transpose @alecerio (#2477)
- dialects: (x86) PR5_3 - single operand instructions - source and destination @KGrykiel (#2485)
- dialects: (x86) PR5_2 - single operand instructions - one destination @KGrykiel (#2455)
- transformations: lower
stencil.combine
, refactorstencil.buffer
@PapyChacal (#2457) - dialects: (llvm) Fix elem_type bug in GEPOp builder @Moxinilian (#2472)
- dialects: (onnx) integrate onnx.Transpose in front-end @alecerio (#2488)
- frontend: (onnx) integration matmul op in onnx frontend @alecerio (#2469)
Transformations
- transformations: (onnx) fix lower onnx.Relu lowering @kayode-gif (#2435)
- transformations: lower
stencil.combine
, refactorstencil.buffer
@PapyChacal (#2457)
🗎 Documentation
- misc: add total and last week download counts @superlopuh (#2525)
🐛 Bug Fixes
- dialects: (hw) Fix printing of module visibility @Moxinilian (#2512)
- dialects: (hw) Revert HWModuleOp's usage of InnerRefNamespaceTrait @Moxinilian (#2498)
- core: Fix OptionallyParsableDirective. @PapyChacal (#2475)
- interactive: don't include the child in the root to child list @superlopuh (#2282)
- dialects: (llvm) Fix elem_type bug in GEPOp builder @Moxinilian (#2472)
Testing
- testing: fix pyright failures when onnx is not installed @superlopuh (#2471)
Continuous Integration
- Revert "ci: use a separate workflow for codecov upload" @superlopuh (#2503)
- ci: use a separate workflow for codecov upload @superlopuh (#2497)
Installation
- dependencies: (onnx) use versioned onnx instead of weekly @superlopuh (#2515)
- pip prod(deps): bump textual from 0.58.0 to 0.58.1 @dependabot (#2520)
- pip prod(deps): update pytest requirement from <8.2 to <8.3 @dependabot (#2511)
- pip prod(deps): bump textual from 0.57.1 to 0.58.0 @dependabot (#2505)
- pip prod(deps): bump ruff from 0.3.7 to 0.4.2 @dependabot (#2504)
- pip prod(deps): bump black[jupyter] from 24.4.1 to 24.4.2 @dependabot (#2506)
- pip prod(deps): bump black[jupyter] from 24.4.0 to 24.4.1 @dependabot (#2496)
- pip prod(deps): bump textual from 0.56.4 to 0.57.1 @dependabot (#2484)
Miscellaneous
- core: Implement HasAncestor. @PapyChacal (#2514)
- core: Remove redundant output from IRDLOperation's verification error. @PapyChacal (#2481)
- core: Implement MessageConstraint @PapyChacal (#2474)
- core: Fix OptionallyParsableDirective. @PapyChacal (#2475)
Interactive
- interactive: don't include the child in the root to child list @superlopuh (#2282)
- interactive : remove bug that happens when argument screen is cleared and entered @dshaaban01 (#2364)
v0.18
xDSL framework
- frontend (onnx): implementation graph visiting @alecerio (#2464)
- frontend: (onnx) visit_node implementation @alecerio (#2441)
- core: Fix optional operand declarative printing. @PapyChacal (#2448)
- core: More informative rewrite errors. @PapyChacal (#2445)
- frontend: [onnx] add test_visit_value_info_multiple_time @alecerio (#2437)
- core: Add optional attributes to declarative assembly format @lucjaulmes (#2407)
- frontend: (onnx) Unify type builders again @alecerio (#2418)
- frontend: [onnx] unify type builders @alecerio (#2334)
- core: Make location parsing public @Moxinilian (#2371)
- core: Fix printing of non-identifier symbols @Moxinilian (#2369)
- core: Make print_ssa_value return chosen name @Moxinilian (#2370)
- rewriting: Fix TypeConversionPattern recursive support for DictionaryAttr @Moxinilian (#2374)
- core: Fix bug in pattern rewriter when ErasedSSAValue is present @math-fehr (#2365)
- core: rewrite_op returns whether an action was performed @superlopuh (#2331)
- rewriting: Extend TypeConversionPattern annotation @Moxinilian (#2332)
- core: add insert_op_at_location to PatternRewriter @superlopuh (#2308)
- core: (pattern_rewriter) Revert accidental change @AntonLydike (#2318)
- core: use InsertPoint for block inlining @superlopuh (#2311)
- core: declarative format variable fix @PapyChacal (#2313)
- core: Make SSAValue hashable @AntonLydike (#2302)
- core: move InsertPoint to Rewriter [NFC] @superlopuh (#2310)
- core: make ModulePass frozen @superlopuh (#2254)
- core: Refix opaque syntax attribute spacing @PapyChacal (#2256)
- core: Spacing fix in EnumAttribute and OpaqueSyntaxAttribute @PapyChacal (#2248)
- core: Implement first cases of assembly format optional groups @PapyChacal (#2239)
- core: Assembly format spacing fix. @PapyChacal (#2238)
- Implement and test optional operand and result variables. @PapyChacal (#2107)
- core: Add checks on chaining variadics in declarative assembly format. @PapyChacal (#2106)
- core: add Hasher and HashableModule @superlopuh (#2210)
- core: Allow to get the expected base of an IRDL constraint @math-fehr (#2175)
- core: Make IRDL operations and attributes final @math-fehr (#2159)
- core: Allow unregistered citizens in a registered dialects @PapyChacal (#2161)
- frontend: (onnx) add get_shape and get_tensor_type @superlopuh (#2134)
- core: add custom attr and prop name support to assembly format @superlopuh (#2123)
- frontend: (onnx) re-arrange elem type @alecerio (#2132)
- core: Implement Printer property retrocompatibility. @PapyChacal (#2082)
- core: add replacement arg_values to inline_block_before @superlopuh (#2061)
Dialects
- dialects: (onnx) implementation onnx.MatMul @alecerio (#2467)
- dialects: (x86) PR5_1 - single operand instructions - one source @KGrykiel (#2398)
- dialects: (seq) Add ConstClockOp @Moxinilian (#2461)
- dialects: (comb) Accept non-integer types in mux @Moxinilian (#2459)
- dialects: (comb) Fix bugs in variadic operations @Moxinilian (#2458)
- dialects: (comb) Fix lowBit case in extract op @Moxinilian (#2460)
- dialects: Implement
stencil.combine
@PapyChacal (#2454) - dialects: (seq) Finish
seq.compreg
optionals @lucjaulmes (#2450) - dialects: Implement
stencil.dyn_access
, test it (andstencil.index
) @PapyChacal (#2380) - dialects: Add accfg dialect operations @JosseVanDelm (#2430)
- dialects: (linalg) add linalg.broadcast @kayode-gif (#2433)
- dialects: (seq) Add builder and verifier for CompRegOp @Moxinilian (#2429)
- dialects: (builtin) Fix bound computation crash for i0 @Moxinilian (#2403)
- dialects: (seq) Add CompRegOp @Moxinilian (#2404)
- dialects: (riscv_snitch) Add Xdma extension operations @AntonLydike (#2410)
- dialects: (hw) Add
hw.module
andhw.output
operations @Moxinilian (#2366) - dialects: (linalg) add linalg.conv_2d_nchw_fchw @kayode-gif (#2400)
- dialects: (linalg) add attributes to linalg.pooling_nchw_max and base class for pooling ops @kayode-gif (#2392)
- dialects: (x86) PR4 - two-register-operand instructions @KGrykiel (#2379)
- dialects: Fix affine.ParallelOp boundsGroup checks. @PapyChacal (#2235)
- dialects: (linalg) add linalg.pooling_nchw_max @kayode-gif (#2388)
- dialects: (x86) PR3 - Assembly emission @KGrykiel (#2375)
- dialects: (x86) PR2 - Operations: add @KGrykiel (#2351)
- dialects: (comb) Fix replicate op @Moxinilian (#2372)
- dialects: (linalg) allow for empty results in linalg.fill custom format @superlopuh (#2363)
- dialects: (comb) Fix icmp parser/printer discrepancy and 2-state semantics modelling @Moxinilian (#2335)
- dialects: (x86) PR1 - Registers @KGrykiel (#2333)
- dialects: (gpu) Adding
gpu.wait
op @tavakkoliamirmohammad (#2298) - dialects: (comb) Fix extract op @Moxinilian (#2327)
- dialects: (comb) Fix concat op @Moxinilian (#2326)
- dialects: (air) Add air dialect @gabrielrodcanal (#2234)
- bug: (onnx) fix onnx.Gemm @kayode-gif (#2323)
- dialects: (riscv) add index to registers @zero9178 (#2321)
- dialects: (snitch_stream) make snitch_stream parameters go outwards-in @superlopuh (#2294)
- dialects: (llvm) Fix constructor for llvm.InlineAsmOp @AntonLydike (#2312)
- dialects (hw): Fix Formatting @webmiche (#2317)
- dialects: (hw) Add
InnerSymAttr
attributes to HW dialect. @lucjaulmes (#2251) - dialects: Implement
tensor.insert_slice
andtensor.extract_slice
@PapyChacal (#2305) - dialects: Implement
bufferization.alloc_tensor
andbufferization.to_tensor
@PapyChacal (#2306) - dialects: linalg minor fixes @PapyChacal (#2307)
- dialects: (linalg) add linalg.matmul @kayode-gif (#2296)
- (dialects): add linalg.tranpose @kayode-gif (#2280)
- dialects: (snitch_stream) simplify bounds of size 1 in stride pattern @superlopuh (#2276)
- dialects: (linalg) add linalg.mul @kayode-gif (#2278)
- dialects: reformat onnx.Constant to align with MNIST models one @kayode-gif (#2261)
- dialects: (riscv) mul is pure @superlopuh (#2257)
- dialects: make linalg.IteratorType an EnumAttribute @PapyChacal (#2249)
- dialects: (snitch_stream) add offsets to StridePattern and use in interpreter @superlopuh (#2252)
- dialects: (memref_stream) allow scalar argument to memref_stream generic @superlopuh (#2250)
- dialects: (memref) add custom format to memref.dealloc @superlopuh (#2247)
- onnx.reshape should check for product not length @kayode-gif (#2241)
- (dialects): add tensor.reshape @kayode-gif (#2240)
- dialects: (ml_program) add ml_program.global and ml_program.global_load_const @kayode-gif (#2209)
- dialects: Fix inline_asm unitattrs to not be properties @JosseVanDelm (#2223)
- dialects: Add LLVM InlineAsm op @JosseVanDelm (#2203)
- dialects: (hw) Add InnerSymbolTable and InnerRefNamespace to HW dialect @lucjaulmes (#1780)
- dialects: Update gpu.launch_func @PapyChacal (#2163)
- dialects: add linalg.fill @kayode-gif (#2189)
- dialects: (memref) add custom syntax to memref.alloc @superlopuh (#2191)
- dialects: (memref_stream) add memref_stream.generic @superlopuh (#2148)
- dialects: (memref_stream) add streaming region @superlopuh (#2146)
- dialects: (tensor) add tensor.Empty @kayode-gif (#2133)
- dialects: (snitch_stream) replace stride pattern op with attribute @superlopuh (#2143)
- dialects: (snitch_stream) add stride pattern attribute @superlopuh (#2141)
- dialects: (LLVM) Fix use of attributes dict when dialect specifies prop_def @ed741 (#2144)
- dialects: (aie) Add aie dialect @gabrielrodcanal (#1763)
- dialects: (snitch_stream) reverse bounds and strides in snitch_stream @superlopuh (#2139)
- dialects: (snitch_stream) remove StridedReadOp and LowerStridedWriteOp @superlopuh (#2127)
- dialects: (snitch_stream) remove stride pattern operand from strided read and write @superlopuh (#2126)
- dialects: (memref_stream) add memref_stream dialect with read and write ops @superlopuh (#2111)
- dialects: (memref) add custom syntax to memref.get_global @superlopuh (#2124)
- dialects: (linalg) add linalg.add @kayode-gif (#2129)
- dialects / bug : (linalg) linalg.generic constructor does not have a result types argument @kayode-gif (#2125)
- dialects: (stream) add abstract superclass for stream read and write @superlopuh (#2110)
- dialects: (riscv) canonicalization should move constants not replace with li @superlopuh (#2104)
- dialects: (arith) adding an arith canonicalisation pattern @dshaaban01 (#2094)
- dialects: (riscv) don't canonicalize getting the zero register to li 0 @superlopuh (#2101)
- dialects: (riscv) fix signedness in riscv @superlopuh (#2100)
- dialects: (builtin) fix ranges for integers @superlopuh (#2099)
- dialects: (riscv_scf) make riscv_scf.yield implicit @superlopuh (#2092)
- dialects: (riscv) Canonicalize the loading 0 to
li zero, 0
@superlopuh (#2077) - dialects (riscv_cf): Allow float register types for block argument types @compor (#2083)
- dialects (riscv): Add canonicalization pattern to fuse
fmul.d
andfadd.d
tofmadd.d
@compor (#2079) - dialects: (onnx) add onnx.EntryPoint @kayode-gif (#2078)
- dialects: (onnx) add onnx.MaxPoolSingleOut @kayode-gif (#2072)
- dialects (riscv): Fix missing attribute name from custom format @compor (#2075)
- dialects: (hw) Add InnerRefNamespaceTrait to HWModuleOp @lucjaulmes (#2406)
- dialects: (pdl) Fix printer and parser for PDL range type @Moxinilian (#2325)
- dialects: (linalg) add custom printer and parser support for doc and library call @jorendumoulin (#2090)
Transformations
- dialects: Implement
stencil.combine
@PapyChacal (#2454) - dialects: Implement
stencil.dyn_access
, test it (andstencil.index
) @PapyChacal (#2380) - transformations: implement
stencil.store_result
lowering. @PapyChacal (#2447) - transformations: Improve and test stencil.index's lowering. @PapyChacal (#2444)
- core: More informative rewrite errors. @PapyChacal (#2445)
- transformations: (onnx) lower onnx.Conv to linalg @kayode-gif (#2396)
- transformations...
v0.17
Changes
xDSL framework
- core: Implement BytesAttr @PapyChacal (#2032)
- core: Implement basic ConstraintVar resolution for assembly format @PapyChacal (#1996)
- core: Add listener in PatternRewriter @math-fehr (#1905)
- core: Fix and test empty variadic directives in declarative assembly format. @PapyChacal (#2069)
- core: make ParametrizedAttribute parameters a tuple @superlopuh (#2054)
- core: properties in declarative format @math-fehr (#2031)
- core: (affine) add compress_dims @superlopuh (#2025)
- core: (affine) add
used_dims
helper to AffineExpr @superlopuh (#2030) - core: Add attribute variables to the declarative assembly format. @math-fehr (#2028)
- dialects: Define nontemporal properties on memref accesses. @PapyChacal (#2024)
- dialects: (builtin) add
NoneType
@kayode-gif (#2016) - core: Support variadic operands and results in declarative assembly format. @PapyChacal (#2011)
- core: Add support for nested inferrence in IRDL @math-fehr (#2005)
- core: Make assembly format use attr-dict for properties @PapyChacal (#2013)
- core: Simplify the pattern rewriter @math-fehr (#1910)
- core: use worklist in pattern matching algorithm @math-fehr (#1908)
- core: Support hex denseAttr parsing for integers, f32, f64 @JosseVanDelm (#1974)
- core: Move to assertions for modification permission checks @tarinduj (#1984)
- core: Add parsing of aliases @math-fehr (#1972)
- core: Add support for lazily loading dialects @math-fehr (#1917)
- core: (printer) use the same code to print op attrs, properties, and DictionaryAttr @superlopuh (#1954)
- core: (parser) add UnresolvedArgument with no type @superlopuh (#1952)
- core: Add region inlining helpers to rewriter (before/after/at_start/at_end) @superlopuh (#1943)
- core: add arg_types param to Block.split_before @superlopuh (#1944)
- core: add helper for function type printing @superlopuh (#1926)
- core: add method for splitting block before a given operation @superlopuh (#1936)
- core: Register passes lazily @math-fehr (#1911)
- core: Add options to
walk
to control traversal order @math-fehr (#1904) - core: Add
\n
directives to assembly format @math-fehr (#1915) - core: Add a worklist for pattern rewriting @math-fehr (#1903)
- core: Add callbacks to the
Builder
@math-fehr (#1892) - core: Add methods to create blocks with the builder @math-fehr (#1891)
- core: Add constructors to
Builder
andInsertPoint
@math-fehr (#1890) - core: Expose InsertPoint class (NFC) @math-fehr (#1888)
Dialects
- dialects: Add memref.expand_shape and memref.collapse_shape ops @JosseVanDelm (#2036)
- dialects: (onnx) add onnx.Constant @kayode-gif (#2037)
- dialects: (riscv) remove SImm and replace with annotated IntegerAttr @superlopuh (#2055)
- dialects: (riscv_scv) Add reverse order for (rof) op @AntonLydike (#2048)
- dialects: (onnx) add onnx.Conv @kayode-gif (#1961)
- dialects: Define nontemporal properties on memref accesses. @PapyChacal (#2024)
- dialects: Switch memref accesses to assembly format @PapyChacal (#2023)
- dialects: (builtin) add
NoneType
@kayode-gif (#2016) - dialects: Import MemRefType from builtin. @PapyChacal (#2022)
- dialects: (onnx) add onnx.Abs @kayode-gif (#2012)
- dialects: (riscv_debug) add RISCV_Debug dialect with printf op @superlopuh (#1990)
- dialects: (onnx) add onnx.Reshape @kayode-gif (#1951)
- dialects: (snitch_stream) replace snitch_stream generic with streaming region @superlopuh (#1986)
- dialects: Add result arguments to func.func @JosseVanDelm (#1987)
- dialects: (onnx) factor out broadcastability helper in onnx dialect @kayode-gif (#1968)
- dialects: Add constant unitattr to global @JosseVanDelm (#1983)
- dialects: Implement affine.parallel @PapyChacal (#1979)
- dialects: Refresh Affine, add interoperability test. @PapyChacal (#1981)
- dialects: (riscv_snitch) add get_stream, read, write ops @superlopuh (#1970)
- dialects: (onnx) sort onnx ops alphabetically @kayode-gif (#1969)
- dialects: (onnx) lint onnx.py @superlopuh (#1966)
- dialects: (onnx) add onnx.Gemm @kayode-gif (#1945)
- dialects: (func) add support for arg_attrs in func.func @superlopuh (#1955)
- dialects: (riscv_cf) add riscv_cf dialect @superlopuh (#1946)
- dialects: (riscv_scf) add custom syntax to riscv_scf.while @superlopuh (#1934)
- dialects: (onnx) add onnx.Relu @kayode-gif (#1939)
- dialects: (scf) add custom syntax for scf while @superlopuh (#1927)
- dialects: (riscv_scf) add custom syntax for riscv_scf.condition @superlopuh (#1925)
- dialects: (scf) add custom syntax for scf.condition @superlopuh (#1924)
- dialects: (riscv) add fmv.d op @superlopuh (#1931)
- dialects: (arith) make binary ops pure @superlopuh (#1930)
- dialects (onnx): Initial onnx dialect support @brnorris03 (#1914)
- dialects (pdl): Add better verifiers to
pdl.pattern
@math-fehr (#1913) - dialects: (llvm) Make llvm.alloca's alignment property optional @PapyChacal (#1887)
- dialects: Update pdl dialect to leverage properties @martin-luecke (#1989)
- dialects: Add optional alignment property to memref.global @JosseVanDelm (#1976)
- dialects: Move MemRefType et al. to builtin. @PapyChacal (#1997)
Transformations
- transforms: (riscv) Add pattern to convert move of immediate value to immediate instantiation @AntonLydike (#2057)
- Add pass to set
fastmath
flags of FP binary operations fromarith
@compor (#2018) - backend: (riscv_cf) add convert-riscv-scf-to-riscv-cf @superlopuh (#1958)
- transforms: Canonicalize without the MLContext @math-fehr (#1912)
- transforms: (riscv_cf) Add canonicalization for branch ops with constant inputs @AntonLydike (#2049)
Backend
- Add fastmath flags to riscv dialect @compor (#2058)
- backend: (riscv) add automatic conversion of riscv_scf.for loop to ri… @superlopuh (#2033)
- backend: (riscv) add a pass to lower print_format to riscv_debug.printf @superlopuh (#1992)
- dialects: (snitch_stream) replace snitch_stream generic with streaming region @superlopuh (#1986)
- backend: (snitch) add iteration arguments to frep @superlopuh (#1982)
- backend: (snitch) read and write to streams in frep body @superlopuh (#1977)
- dialects: (riscv_snitch) add get_stream, read, write ops @superlopuh (#1970)
- backend: (riscv_cf) add convert-riscv-scf-to-riscv-cf @superlopuh (#1958)
- backend: (snitch_stream) add rank to stride pattern type @superlopuh (#1963)
- backend: (riscv) reserve iter arg from allocation inside of riscv_scf body @superlopuh (#1875)
- backend: (riscv) don't dce after lowering arith @superlopuh (#1877)
Interpreter
- interpreter: (affine) add interpreter impl for affine.apply @superlopuh (#2029)
- interpreter: (linalg) add support for reduction iterators for generic @superlopuh (#2020)
- interpreter: (riscv_debug) add implementation for riscv_debug.printf @superlopuh (#1998)
- interpreter: (riscv_snitch) add riscv_snitch functions @superlopuh (#1985)
- interpreter: add symbol parameter to xdsl-run @superlopuh (#1962)
- interpreter: (riscv_cf) add one more interpreter test @superlopuh (#1957)
- interpeter: (riscv_cf) add interpreter functions @superlopuh (#1956)
- interpreter: (linalg) allow scalar params for linalg generic @superlopuh (#1932)
- interpreter: (riscv) add interpreter impls for addi and fcvt.d.w @superlopuh (#1933)
- interpreter: (riscv_scf) add interpreter function for while op @superlopuh (#1923)
🗎 Documentation
- documentation: (Toy) add instruction on how to jit Toy using lli @superlopuh (#2002)
- documentation: (toy) remove unused printf lowering @superlopuh (#1999)
- documentation: (Toy) lower toy.print to print_format and printf @superlopuh (#1993)
- documentation: (toy) use riscv_cf in Toy @superlopuh (#1959)
- docs: Minor stencil docs improvement @georgebisbas (#1949)
- fix attribute docstring @jorendumoulin (#1909)
🐛 Bug Fixes
- core: make ParametrizedAttribute parameters a tuple @superlopuh (#2054)
- bug: fix AffineMap.inverse_permutation @superlopuh (#2019)
- backend: (riscv) reserve iter arg from allocation inside of riscv_scf body @superlopuh (#1875)
Testing
- testing: add tests for some kernels in the snitch backend paper @superlopuh (#2021)
- dialects: Import MemRefType from builtin. @PapyChacal (#2022)
- testing: (riscv) add test for riscemu emulation when lowering to riscv_cf @superlopuh (#1980)
- testing: (snitch) remove block names in test @superlopuh (#1929)
- test: update math tests' constructor @ShaolunWang (#1947)
Continuous Integration
- CI: Fix user name for api key @math-fehr (#1889)
- CI: Use PyPi token to publish package @math-fehr (#1886)
Installation
- pip prod(deps): bump ruff from 0.1.14 to 0.1.15 @dependabot (#2046)
- pip prod(deps): update pytest requirement from <8.0 to <9.0 @dependabot (#2035)
- pip prod(deps): bump pytest-asyncio from 0.23.3 to 0.23.4 @dependabot (#2034)
- pip prod(deps): bump ruff from 0.1.13 to 0.1.14 @dependabot (#1995)
- pip prod(deps): bump ruff from 0.1.12 to 0.1.13 @dependabot (#1975)
- pip prod(deps): bump ruff from 0.1.11 to 0.1.12 @dependabot (#1973)
- pip prod(deps): bump pyright from 1.1.344 to 1.1.345 @dependabot (#1953)
- pip dev(deps-dev): bump textual from 0.47.0 to 0.47.1 @dependabot (#1948)
- pip dev(deps-dev): bump textual from 0.46.0 to 0.47.0 @dependabot (#1941)
- pip prod(deps): bump textual-dev from 1.3.0 to 1.4.0 @dependabot (#1940)
- pip prod(deps): bump ruff from 0.1.9 to 0.1.11 @dependabot (#1937)
- pip prod(deps): bump pytest-asyncio from 0.23.2 to 0.23.3 @dependabot (#1935)
- pip prod(deps): bump pyright from 1.1.343 to 1.1.344 @dependabot (#1928)
- pip prod(deps): bump pyright from 1.1.342 to 1.1.343 @dependabot (#1916)
- pip prod(deps): bump ruff from 0.1.8 to 0.1.9 @dependabot (#1906)
- pip dev(deps-dev): bump wgpu from 0.13.1 to 0.13.2 @dependabot (#1907)
- pip prod(deps): bump pyright from 1.1.341 to 1.1.342 @dependabot (#1902)
- pip pr...
v0.16.0
Changes
xDSL framework
- core: make ConstraintVar frozen @superlopuh (#1876)
- core: correct
__str__
/__repr__
usage in ParseError @PapyChacal (#1872) - core: add ability to parse MLIR IR that drops dialect names from operations @superlopuh (#1840)
- core: Allow multiple inheritance when one parent is generic @math-fehr (#1794)
- core: Fix scalar memref printing. @PapyChacal (#1754)
- core: implement EnumAttribute @PapyChacal (#1749)
- core: Implement dialect attribute opaque syntax. @PapyChacal (#1726)
- core: Remove hardcoded angle brackets from Data printing/parsing. @PapyChacal (#1724)
- core: fix parsing of tensors containing negative values @superlopuh (#1721)
- core: add AbstractYieldOperation and use in riscv-scf @superlopuh (#1723)
- core: (traits) Add
insert_or_update
method to SymbolTable @AntonLydike (#1652) - core: Implement AffineSetAttr @PapyChacal (#1714)
- core: (affine) bring over definitions of AffineMap.compose and AffineExpr.compose @superlopuh (#1709)
- dialects: (scf) Allow implicit terminator (
yield
op) inscf.for
operation @compor (#1607) - core: Remove duplicated methods @math-fehr (#1716)
- core: Name dialects and make then citizens of MLContext. @PapyChacal (#1711)
- core: (affine_map) add a convenience affine map constructor with lambda @superlopuh (#1686)
- core: add PassPipelinePass with optional callback in between passes @superlopuh (#1684)
- core: (affine) add AffineMap.transpose_map @superlopuh (#1675)
- core: affine map eval takes sequences not lists @superlopuh (#1681)
- core: Rename register_* with load_* @math-fehr (#1663)
- core: Add results in declarative format @math-fehr (#1666)
Dialects
- dialects: Switch math to properties. @PapyChacal (#1881)
- dialects: LLVM updates. @PapyChacal (#1882)
- dialects (arith): Add arith.addui_extended operation @math-fehr (#1826)
- dialects: Use IntAttr in Vector/Tensor/MemRef types @math-fehr (#1825)
- dialects: Add missing verifiers for PDL operations @math-fehr (#1830)
- dialects: switch llvm to properties. @PapyChacal (#1874)
- dialects: Refactor and improve llvm type parsing. @PapyChacal (#1873)
- dialects: (linalg) add custom format to linalg.generic @superlopuh (#1843)
- transformations: Implement unrolled stencil conversion @PapyChacal (#1852)
- dialects: Implement affine.min. @PapyChacal (#1847)
- dialects: (memref) add alloc(a) dynamic dimension support @jorendumoulin (#1856)
- transforms: implement gpu-map-parallel-loops @PapyChacal (#1846)
- dialects: (memref) Add canonicalize pattern for subviews of subviews @AntonLydike (#1829)
- misc: Bump MLIR to 98e674c9f16d677d95c67bc130e267fae331e43c. @PapyChacal (#1824)
- dialects: (riscv_snitch) add FrepYieldOp to dialect definition @superlopuh (#1792)
- dialects: (riscv) add ability to fld from label @superlopuh (#1797)
- dialect: (riscv_snitch) prettify frep custom syntax @superlopuh (#1791)
- dialects: Add binary arithmetic llvm operations @math-fehr (#1812)
- dialects: (riscv) add double-precision fmadd and fmsub @superlopuh (#1790)
- dialects: (scf) Allow signless integers as induction variable types for
scf.for
@compor (#1727) - dialects: Add memref.memory_space_cast @jorendumoulin (#1782)
- dialects: (hw) Add InnerSymTarget class to HW dialect @lucjaulmes (#1758)
- dialects: (scf) Revamp
scf.for
verification logic and messages @compor (#1725) - dialects : Implement omp.parallel @PapyChacal (#1755)
- dialects: Implement memref.alloca_scope and memref.alloca_scope.return. @PapyChacal (#1756)
- dialects: Correct affine.for verifier. @PapyChacal (#1753)
- dialects: fix support for fastmath in some arith ops. @PapyChacal (#1751)
- dialects: implement affine.apply @PapyChacal (#1752)
- dialects: Implement omp.wsloop @PapyChacal (#1750)
- dialects: (hw) Implement HW dialect starting with InnerRefAttr @lucjaulmes (#1708)
- dialects: (scf) Use abstract yield operation in
scf.yield
@compor (#1737) - dialects: (linalg) Use abstract yield operation in
linalg.yield
@compor (#1735) - dialects: (riscv) add fmin.d and fmax.d and lower from arith @superlopuh (#1732)
- dialects: Implement affine.if @PapyChacal (#1715)
- core: Implement AffineSetAttr @PapyChacal (#1714)
- dialects: Replacing get with init in mpi dialect and respective places @ShaolunWang (#1713)
- dialects: (scf) Allow implicit terminator (
yield
op) inscf.for
operation @compor (#1607) - dialects: (riscv) omit ": () -> ()" for riscv ops @superlopuh (#1707)
- dialects: (riscv) assembly section op creates a valid region in init @superlopuh (#1697)
- dialects: (gpu) Elide returns in init methods @compor (#1694)
- dialects: (scf, riscv_scf) Use lazy traits support @compor (#1693)
- dialects: (memref) add attributes in memref store load custom syntax @superlopuh (#1688)
- dialects: (linalg) add custom syntax to linalg.yield @superlopuh (#1690)
- dialects: (stream) add stream dialect with basic ops @superlopuh (#1679)
- dialects: (riscv) don't print op type for NullaryOp @superlopuh (#1683)
- dialects: (dmp) cleanup @AntonLydike (#1290)
- dialects: Add and-bitwise rewrite pattern @alecerio (#1665)
- dialects: Add LTL dialect (AndOp, Sequence and Property types) @luisacicolini (#1659)
- dialects: (memref) add layout and memory space support in memref.alloc(a) @jorendumoulin (#1784)
Transformations
- interpreter: don't use wgpu interpreter functions for constant folding @superlopuh (#1878)
- transformations: Implement stencil unrolling @PapyChacal (#1853)
- transformations: Implement unrolled stencil conversion @PapyChacal (#1852)
- transforms: Implement scf-parallel-loop-tiling @PapyChacal (#1848)
- transforms: implement gpu-map-parallel-loops @PapyChacal (#1846)
- transformations: add interepreter-based contant folding pass @superlopuh (#1599)
- transforms: (dmp) Add a 3D domain decomposition (with n-d generalization) @AntonLydike (#1672)
- transformations: Implement convert-scf-to-openmp @PapyChacal (#1771)
- backend: (riscv) Exclude FP registers from RISC-V regalloc in the presence of
snitch_stream
IO ops @compor (#1786)
Backend
- backend: (riscv) fix function lowering with mixed floats and ints @superlopuh (#1837)
- backend: (riscv) add mechansim to reserve and unreserve registers @superlopuh (#1839)
- backend: (riscv) support any memref shape for access lowering @superlopuh (#1836)
- backend: (riscv) Exclude FP registers from RISC-V regalloc in the presence of
snitch_stream
IO ops @compor (#1786) - backend: (riscv) add riscv.fcvt.d.w and riscv.fcvt.d.wu ops (v2) @superlopuh (#1746)
- backend: (snitch) add snitch register allocation @superlopuh (#1741)
- backend: (riscv) add convert-snitch-stream-to-snitch @superlopuh (#1718)
- backend: (riscv) add a snitch_stream dialect to represent the highest-level snitch-specific operations @superlopuh (#1706)
- backend: (riscv) SsrSetStreamConfigOperation has dm attr instead of stream operand @superlopuh (#1703)
- backend: (riscv) make dimension an IntAttr in snitch ops @superlopuh (#1702)
- backend: (riscv) add lowering for memref global ops @superlopuh (#1700)
- backend: (riscv) Add canonicalization pattern for AddImmediateConstant @superlopuh (#1695)
- backend: (riscv) remove lower-snrt-to-func pass @superlopuh (#1687)
- backend (riscv): Factor out Snitch ISA extensions @compor (#1685)
- backend: (riscv) split logic for casting operands to regs @superlopuh (#1678)
- backend: (riscv) add 1d, 3d, and 4d snitch stream lowerings @superlopuh (#1781)
Interpreter
- interpreter: don't use wgpu interpreter functions for constant folding @superlopuh (#1878)
- interpreter: (arith) add minf and maxf @superlopuh (#1720)
- interpreter: (snitch_stream) add SnitchStreamInterpreterFunctions @superlopuh (#1710)
- interpreter: (riscv) gather data from all .data sections @superlopuh (#1698)
- interpreter: (riscv) add cast from float reg to float @superlopuh (#1699)
- interpreter: add verbose flag to print Python results @superlopuh (#1689)
- interpreter: (linalg) add interpreter functions for generic and yield @superlopuh (#1677)
- interpreter: (stream) add stream interpreter functions @superlopuh (#1680)
- interpreter: (riscv) add interpreter function for riscv.fmv @superlopuh (#1669)
- interpreter: shaped array accepts any sequence of ints as index @superlopuh (#1668)
API
- interactive: add test to count_number_of_ops @dshaaban01 (#1862)
- misc: Add a version flag to xdsl @AntonLydike (#1785)
- api: added clone function in core.py @dshaaban01 (#1743)
- dialects: Replacing get with init in mpi dialect and respective places @ShaolunWang (#1713)
🐛 Bug Fixes
- interpreter: don't use wgpu interpreter functions for constant folding @superlopuh (#1878)
- misc: make VSCode Pylance happy with int type @superlopuh (#1879)
- dialects: (riscv_snitch) add FrepYieldOp to dialect definition @superlopuh (#1792)
Testing
- testing: remove empty filecheck test @superlopuh (#1838)
- tests: Add a test construct of a simple stencil dialect use in CI @georgebisbas (#1081)
- testing: add a filecheck interpreter test for snst relu @superlopuh (#1734)
- testing: add a filecheck interpreter test for snst dsum @superlopuh (#1733)
- testing: add a runtime test for relu of a memref @superlopuh (#1722)
- testing: make fewer tests fail if riscemu is not installed @superlopuh (#1717)
- testing: (riscv) add missing return values @superlopuh (#1667)
Continuous Integration
- misc: Bump MLIR to 98e674c9f16d677d95c67bc130e267fae331e43c. @PapyChacal (#1824)
- ci: Add Interactive to release-drafter.yml @dshaaban01 (#1762)
Installation
- pip dev(deps-dev): update immutabledict requirement from <4.0.1 to <4.1.1 @dependabot (#1885)
- pip prod(deps): bump pyright from 1.1.340 to 1.1.341 @dependabot (#1883)
- pip dev(deps-dev): bump textual from 0.45.1 to 0.46.0 @dependabot (#1884)
- pip prod(deps): bump pyright...
ASPLOS'24 accepted
This version contains the xdsl source code used for the experiments in DOI: 10.1145/3620666.3651344
v0.15.0
xDSL framework
- core: Add support for lazy traits in IRDL @math-fehr (#1529)
- core: make IRNode.parent an abstract property parent_node @superlopuh (#1640)
- core: (printer) Allow optional printing of block terminator operations @compor (#1617)
- Switch AttrSizedSegments attribute_names to CamelCase. @PapyChacal (#1613)
- misc: Bump MLIR to a3f2751 @PapyChacal (#1582)
- core: test and fix IRDLOptions as properties @PapyChacal (#1611)
- core: Make SymbolOpInterface and Symboltable properties-ready. @PapyChacal (#1604)
- core: Implement AttrSizedSegments option to implement as a property. @PapyChacal (#1603)
- core: add ConstantLike trait from MLIR @superlopuh (#1601)
- core: Add a wrapper constraint to substitute error message on failure @superlopuh (#1579)
- core: Add support for properties in attribute converter @math-fehr (#1592)
- core: Add support for properties in immutable ir @math-fehr (#1593)
- core: check for properties in clone and equivalence check @math-fehr (#1591)
- core: Implement properties retrocompatibility in the parser. @PapyChacal (#1572)
- core: Add segment sizes attributes to IRDL operation definition @math-fehr (#1573)
- core: add FlatSymbolRefAttr @luisacicolini (#1575)
- core: Add properties in IRDL @math-fehr (#1490)
- core: Move Operation create/build/init parameters to named arguments @math-fehr (#1489)
- core: add canonicalization pattern and use in Toy @superlopuh (#1415)
- core: Add operands in declarative assembly format @math-fehr (#1316)
- core: unify some attribute printing/parsing methods @superlopuh (#1467)
Dialects
- dialects: (riscv) frep.outer -> frep.o, frep.inner -> frep.i @superlopuh (#1649)
- dialects: (riscv) verify that scfgw and scfgwi return 0 @superlopuh (#1648)
- dialects: (riscv) split move_to_a_regs @superlopuh (#1651)
- backend: (riscv) Fix snitch scfgw format and add canonicalization @compor (#1644)
- dialects: (builtin) Add bitwidth accessor to float types @compor (#1637)
- dialects: (seq) Add ClockType and ClockDivider @lucjaulmes (#1619)
- dialects: (riscv) use dict instead of mapping in riscv.py @superlopuh (#1638)
- dialects: (riscv) add lowering for stores and loads of f64 memrefs @superlopuh (#1625)
- dialects: (riscv) add canonicalization patterns for fld and fsd @superlopuh (#1624)
- dialects: (riscv) Add double-precision FP arithmetic instructions @compor (#1626)
- dialects: (cf) move to init @AntonLydike (#1618)
- dialects: FSM advanced operator (SW/HW instances) @luisacicolini (#1610)
- dialects: (scf) convert constructors from get to init @AntonLydike (#1616)
- dialects: FSM base operators @luisacicolini (#1600)
- misc: Bump MLIR to a3f2751 @PapyChacal (#1582)
- dialects : add comb dialect @dshaaban01 (#1585)
- dialects: (riscv) add frep operations to riscv dialect @superlopuh (#1587)
- dialects: (maths) Using
__init__()
instead ofget()
@ShaolunWang (#1589) - dialects: (riscv) add cfgwi op @superlopuh (#1577)
- dialects: Add HLS dialect @gabrielrodcanal (#1578)
- dialects: (riscv) add fsd and fld + interpreter functions @superlopuh (#1565)
- Dialects: finishing Arith custom parse and printing @ajrichins (#1542)
- backend: (riscv) add vfadd and vfmul instructions @superlopuh (#1562)
- dialects: (riscv) add canonicalization pattern x*0=0 @luisacicolini (#1567)
- dialects: (riscv) canonicalization pattern added (x+x=x*2) @dshaaban01 (#1566)
- dialects: (riscv) remove redundant private constants @superlopuh (#1563)
- dialects: (riscv_scf) add custom syntax to riscv_scf for and yield @superlopuh (#1544)
- dialects: (memref) add custom syntax to load and store @superlopuh (#1545)
- dialects: (scf) add custom syntax to scf for and yield @superlopuh (#1543)
- dialects: (Arith) Add custom parsing for trunci, extui, extsi @ajrichins (#1512)
- dialects: Fix printer function of pdl.replace @math-fehr (#1496)
- dialects: (riscv_func) add custom syntax to mirror func @superlopuh (#1485)
- dialects: (func) add custom syntax to func.call @superlopuh (#1481)
- dialects: (arith) deprecate Constant.from_attr and .from_float_and_width @superlopuh (#1450)
- dialects: (riscv) Add lowering from register-allocated rvscf to riscv labels @AntonLydike (#1355)
- dialects: Comb WIP (init, parser, printer functions added to base classes) @dshaaban01 (#1596)
Transformations
- backend: (riscv) Fix snitch scfgw format and add canonicalization @compor (#1644)
- transformations: (riscv_scf) add riscv-scf-loop-range-folding like MLIR @superlopuh (#1558)
- transformations: (riscv) add some more riscv canonicalization patterns @superlopuh (#1557)
- transformations: move riscv canonicalization file to dedicated folder @superlopuh (#1556)
- transforms: (affine) add basic lower-affine @superlopuh (#1483)
- transforms: (riscv) partial lowering of memref to riscv @superlopuh (#1507)
- transforms: (riscv_func) handle non-float arguments for func lowering @superlopuh (#1492)
Backend
- dialects: (riscv) frep.outer -> frep.o, frep.inner -> frep.i @superlopuh (#1649)
- dialects: (riscv) verify that scfgw and scfgwi return 0 @superlopuh (#1648)
- dialects: (riscv) split move_to_a_regs @superlopuh (#1651)
- docs: (toy) Use f64 in Toy @superlopuh (#1623)
- backend: (riscv) Fix snitch scfgw format and add canonicalization @compor (#1644)
- backend: (riscv) add lowering from arith.constant f64 @superlopuh (#1630)
- transformations: (riscv_scf) add riscv-scf-loop-range-folding like MLIR @superlopuh (#1558)
- backend: (riscv) add lowerings for f64 binary operations @superlopuh (#1629)
- dialects: (riscv) add lowering for stores and loads of f64 memrefs @superlopuh (#1625)
- dialects: (riscv) add canonicalization patterns for fld and fsd @superlopuh (#1624)
- documentation: (toy) use RawPtr to read buffer of values @superlopuh (#1622)
- dialects: (riscv) Add double-precision FP arithmetic instructions @compor (#1626)
- dialects: (riscv) add cfgwi op @superlopuh (#1577)
- misc: add filecheck file with assembly-level IR output for riscv paper/presentation @superlopuh (#1576)
- backend: (riscv) allocate T registers then A registers then J @superlopuh (#1559)
- backend: (riscv) print assembly from riscv_func, remove region from label @superlopuh (#1553)
- backend: (rsicv) unify RdRsRs(Integer|Float)Op @superlopuh (#1552)
- backend: (riscv) don't allocate external function calls @superlopuh (#1551)
- backend: (riscv) exclude preallocated registers by default @superlopuh (#1550)
- backend: (riscv) make live-ins iteration stable @nazavode (#1546)
- backend: (riscv) Allow detection and exclusion of preallocated registers from register allocation @compor (#1332)
- backend: (riscv) replace BlockNaive register allocator with LivenessBlockNaive @superlopuh (#1527)
- backend: (riscv) add ability to queue j registers @superlopuh (#1533)
- backend: (riscv) factor out func body walking and op processing in register allocators @superlopuh (#1521)
- backend: (riscv) walk backwards in both register allocators @superlopuh (#1520)
- testing: (riscv) add a unified test for register allocation @superlopuh (#1535)
- backend: (riscv) factor out op processing in register allocators @superlopuh (#1525)
- backend: (riscv) emit assembler directives for functions @nazavode (#1528)
- backend: (riscv) add sym_visibility attr to riscv_func.FuncOp @nazavode (#1526)
- backend: (riscv) factor out init and allocate for block naive allocators @superlopuh (#1519)
- backend: (riscv) use register_queue for register management @superlopuh (#1518)
- backend: (riscv) simplify for loop allocation @superlopuh (#1524)
- backend: (riscv) free result registers before allocating @superlopuh (#1523)
- backend: (riscv) j reg allocator is block naive with 0 real registers @superlopuh (#1517)
- backend: (riscv) limit_registers None by default @superlopuh (#1516)
- backend: (riscv) move module walking logic to register allocation pass @superlopuh (#1515)
- backend: (riscv) add RegisterQueue to manage available registers @superlopuh (#1506)
- backend: (riscv) Clean up abi and arch specifications @AntonLydike (#1511)
- backend: (riscv) add riscv-reduce-register-pressure pass @superlopuh (#1514)
- documentation: (toy) add optimisation steps to Toy @superlopuh (#1510)
- backend: (riscv) add optimisations for memref store/load @superlopuh (#1508)
- transforms: (riscv) partial lowering of memref to riscv @superlopuh (#1507)
- backend: (riscv) allocate registers in function bodies only @superlopuh (#1500)
- backend: (riscv) handle float arguments in func lowering @superlopuh (#1503)
- tests: (riscv) migrate most riscv filecheck ops to custom syntax [NFC] @superlopuh (#1502)
- dialects: (riscv) add fmvop @superlopuh (#1498)
- backend: (riscv) make RdRsOperation generic @superlopuh (#1495)
- dialects: (riscv_func) add custom syntax to mirror func @superlopuh (#1485)
- backend: (riscv) unify naming in backend.riscv.lowering @superlopuh (#1478)
- interpreter: (riscv) add fmul, fcvt.s.w, fsw, flw @superlopuh (#1479)
- backend: (riscv) use canonicalization to optimize riscv @superlopuh (#1486)
- backend: (riscv) move convert_float_to_int to own helpers file in utils @superlopuh (#1463)
- tests: (riscv, memref) use f32 in memref to riscv lowering test @superlopuh (#1477)
- backend: (riscv) add register allocation for loop-carried scf_for vars @superlopuh (#1460)
- dialects: Add the basic concept of compilation targets @AntonLydike (#980)
- backend: (riscv) unify GetRegister ops @superlopuh (#1464)
- backend: (riscv) fix riscv_scf lowering @superlopuh (#1457)
- testing: (rsicv) add integer test to for loop lowering @superlopuh (#1456)
- dialects: (riscv) Add lowering from register-allocated rvscf to riscv labels @AntonLydike (#1355)
- backend: (rsicv) remove cast to int hack in riscv lowering @superlopuh (#1462)
- backend: (riscv) fix riscv_scf lowering (#1457 again) @superlopuh (#1480)
- backend:...
v0.14.0
Changes
xDSL framework
- python: Use generators or direct syntax @kingiler (#1252)
- Core: add Block::walk_reverse to walk over operations in reverse order @tobiasgrosser (#1115)
- core: Make a few print and parse function public @kingiler (#1301)
- tools: Split part of xDSLOpt in a CommandLineTool base class. @PapyChacal (#1292)
- core: Restructure AffineExpr @Groverkss (#1270)
- [core] Introduce LocationAttr (unknown only) @Moxinilian (#1210)
- core: Move ir.py and affine_ir.py to ir/ @Groverkss (#1092)
- core: Add AffineMap @Groverkss (#1029)
- core: (trait) Polish HasParent trait @kingiler (#1438)
- core: print error on operation with mismatched types, not next one @superlopuh (#1399)
- core: Add keyword to the declarative assembly format @math-fehr (#1315)
- core: Fix cornercase fail in
isa
@PapyChacal (#1367) - core: Add punctuation directive to the assembly format @math-fehr (#1314)
- core: Add
clone
toRegion
class @ShaolunWang (#1335) - core: Add declarative assembly format specification to IRDL @math-fehr (#1313)
- core: Fix bug in method, and improve documentation @math-fehr (#1319)
- core: Rename _OpT to IRDLOperationInvT (NFC) @math-fehr (#1310)
- core: (parser) factor out resolve_operands @tobiasgrosser (#1302)
- core: (parser) factor out parse_regions @tobiasgrosser (#1300)
- core: Add optional version of parse_comma_separated_list @math-fehr (#1280)
- core: (parser) Make parsing for function type public @kingiler (#1297)
- core: add MLIROptPass, calling mlir-opt @superlopuh (#1257)
- core: Improve exception @kingiler (#1272)
- core: Allow implicit module addition @compor (#1262)
- core: allow insertion anywhere in the block containing matched operation @superlopuh (#1238)
- core: Add SingleBlockImplicitTerminator trait @compor (#1198)
- core: Honour safe erase in rewriter.earse_op @kingiler (#1241)
- core: Rename
typ
properties totype
@kingiler (#1240) - core: Extract AttrParser out of Parser @math-fehr (#1211)
- core: Fix terminator conditions for unregistered operations @compor (#1201)
- core: Add structure to view an op operands @math-fehr (#1196)
- core: Move
allow_unregistered
toMLContext
@math-fehr (#1202) - dialects: Remove deprecated builtin constructors @math-fehr (#1203)
- core: Cleanup Operation and IRNode definition @math-fehr (#1194)
- core: surface original error when raising verification error @superlopuh (#1192)
- core: Factor BaseParser out of the parser (NFC) @math-fehr (#1191)
- core: Implement constant folding for AffineExpr @Groverkss (#1178)
- core: Remove unused backtracking function in parser @math-fehr (#1180)
- core: print floats same way MLIR does @superlopuh (#1187)
- core: Fix affine_map printing @Groverkss (#1184)
- core: Remove print_attribute_dictionary in favour of print_op_attributes @AntonLydike (#1171)
- Core: Add NoTerminator trait @compor (#1049)
- core: Implement parsing for Affine IR constructs @Groverkss (#1147)
- core: add CallableOpInterface and use in interpreter @superlopuh (#1166)
- core: Add boilerplate to convert PyRDL to an IRDL program @math-fehr (#1124)
- core: Simplify successor terminator conditions @compor (#1156)
- core: add SymbolOpInterface and leverage in interpreter @superlopuh (#1146)
- core: Fix generic Operation verifier for termination @PapyChacal (#1153)
- core: pyrdl generation fix codegen @superlopuh (#1141)
- core: Add successor branching verification @compor (#1129)
- core: Remove runtime type check in Data @math-fehr (#1126)
- core: Add support for
isa(..., set)
@AntonLydike (#1127) - core: Allow to have a different accessor than attribute name @math-fehr (#1125)
- core: deprecate Block.from_callable and replace with builder/implicit builder @superlopuh (#1119)
- core: IRDL to PyRDL translation @math-fehr (#1106)
- core: Implement and use IsolatedFromAbove @PapyChacal (#1122)
- core: Create ParserState (NFC) @math-fehr (#1114)
- core: Move backend related files to separate directories @compor (#1104)
- core: don't use type hints for OpDef @superlopuh (#1095)
- Core: Add IsTerminator trait @compor (#1080)
- core: Expose the list of dialects without using xDSLOptMain @math-fehr (#1079)
- core: optimise attr clsdict calculation @superlopuh (#1088)
- core: Remove the tokenizer @math-fehr (#1074)
- core: Remove last uses of the tokenizer @math-fehr (#1073)
- core: move identifier parsing to lexer @math-fehr (#1072)
- core: move attribute parsing to lexer (NFC) @math-fehr (#1069)
- bug: Fix
clone_into
with circular block regions @math-fehr (#1066) - core: Move type parsing to lexer (NFC) @math-fehr (#1068)
- misc: Remove pyright new overload fix @math-fehr (#1076)
- core: (NFC) rewrite operation parser in lexer @math-fehr (#1058)
- core: remove some legacy parser function @math-fehr (#1057)
- core: (NFC) Move parsing of string attribute and literal to the lexer @math-fehr (#1056)
- core: Add get_string_literal_value to Token @math-fehr (#1055)
- core: better errors printing in operation @math-fehr (#1050)
- core: separate out decorator for anonymous rewrite pattern @superlopuh (#1064)
- core: allow None for optional region @superlopuh (#1062)
- core: use with blocks for implicit building @superlopuh (#1017)
- core: Allow parsing graph regions @math-fehr (#1039)
- core: check correctness operation signatures @math-fehr (#1036)
- core: Allow graph regions in printer @math-fehr (#1032)
- core: add insertion point to Builder @superlopuh (#1035)
- core: make ImplicitBuilder public @superlopuh (#1034)
- core: use truthiness for block ops is_empty check @superlopuh (#1015)
- core: Add print_unknown_value_error option to printer @math-fehr (#1013)
Dialects
- dialects: (linalg) Add linalg dialect @Groverkss (#1215)
- dialects: add Snitch Runtime dialect @JosseVanDelm (#1003)
- dialects: (dmp) Add a 2d-grid decomposition @AntonLydike (#1024)
- dialects: (riscv) add
AssemblySectionOp
and splitDirectiveOp
@superlopuh (#1378) - Revert "dialects: (riscv) add
AssemblySectionOp
and split `Directiv… @superlopuh (#1377) - dialect: Dropping
scf.While.get
@ShaolunWang (#1337) - dialects: (arith) make parsing robust with respect to block ordering @tobiasgrosser (#1305)
- dialects: (linalg) Add linalg methods to determine loop range @Groverkss (#1279)
- dialects: Add snrt ssr operations @KGrykiel (#1179)
- dialects: Add snrt memory ops and barrier @KGrykiel (#1157)
- dialects: (memref): make alignment attribute optional in memref.alloca @adutilleul (#1145)
- dialects: (arith): use signlessIntegerLike for arith.cmpi @adutilleul (#1144)
- dialects: Add print_int, print_char ops. @JosseVanDelm (#1311)
- tests: (riscv) Check custom syntax gives plausible parsing result @kingiler (#1416)
- dialect: (riscv) Custom syntax for LabelOp @kingiler (#1436)
- dialect: (riscv) Custom syntax for CSR immediate Op @kingiler (#1435)
- dialect: (riscv) Custom syntax for RsRsImmFloatOperation and RdRsImmFloatOperation @kingiler (#1433)
- dialect: (riscv) Custom syntax for DirectiveOp @kingiler (#1432)
- dialect: (riscv) Custom syntax for CSR instructions @kingiler (#1430)
- dialects: (riscv_scf) add verifier to
ForOp
@adutilleul (#1424) - dialects: (riscv) add custom assembly format for
flw
andfsw
instructions @adutilleul (#1417) - dialects: (stencil) Add access pattern analysis @AntonLydike (#1409)
- dialects: (riscv_scf) add while op @superlopuh (#1423)
- dialect: (arith) Change from IntegerBinaryOp to SignlessIntegerBinaryOp for RemSI, ShLI and ShRSI @kingiler (#1404)
- dialect: (builtin) Custom syntax for UnrealizedConversionCastOp @kingiler (#1406)
- dialect: (riscv) Custom syntax for RsRsImmIntegerOperation @kingiler (#1414)
- dialect: (riscv) Custom syntax for RsRsOffIntegerOperation @kingiler (#1413)
- dialect: (riscv) Add custom syntax to RdRsImmIntegerOperation @kingiler (#1394)
- dialect: (riscv) Add custom syntax to RdImmIntegerOperation and LiOp @kingiler (#1393)
- dialect: (riscv) Add custom printing for RdImmJumpOperation @kingiler (#1372)
- dialects: (riscv) add
func
toriscv_func
lowering @adutilleul (#1382) - dialects: (stencil) Correct bounds verifier error message @AntonLydike (#1380)
- dialect: (riscv) Throw parser error if immediate is not given @kingiler (#1371)
- dialects: (riscv) add
AssemblySectionOp
and splitDirectiveOp
@adutilleul (#1370) - dialects: Updating arith to init @ajrichins (#1364)
- dialect: (riscv) Custom print attributes @kingiler (#1363)
- dialects: Adding integer width arith ops @ajrichins (#1358)
- dialect: (riscv) fix redundant space for empty operands @kingiler (#1360)
- dialect: (riscv) put attribute before region @kingiler (#1343)
- dialects: (riscv-scf) Add riscv_scf.for and yield ops @AntonLydike (#1350)
- dialects: (riscv) fix multi-block riscv func lowering @superlopuh (#1339)
- dialect: Deprecating
.get
in llvm dialect @ShaolunWang (#1349) - dialects: (affine) freeze AffineMap @superlopuh (#1344)
- dialect: (arith) fix TruncFOp.get @kingiler (#1345)
- dialects: Migrate func dialect to use init from get methods @ShaolunWang (#1333)
- dialect: (riscv) initial custom syntax @kingiler (#1318)
- dialects: Add missing Symbol traits. @PapyChacal (#1331)
- dialects: Fix wrong attribute type used for gpu.known_X_size. @PapyChacal (#1321)
- dialects: Add attributes and init to gpu.FuncOp @PapyChacal (#1320)
- dialect: (riscv) add support for trivial custom IR format @kingiler (#1293)
- dialects: (riscv) label region is multi block @superlopuh (#1172)
- dialects: (riscv) fix error message and outdated doc comments @superlopuh (#1291)
- dialects: (riscv) remove Register class @superlopuh (#1281)
- dialect: Fix riscv verify @kingiler (#1271)
- dialects: (dmp)A bunch of changes that came up when integrating xDSL directly into devito. @AntonLydike (#1160)
- dialects: (riscv) Refactor register allocaton strategie...
v0.13.0
xDSL framework
- core: Add PyRDL constraint variables @math-fehr (#999)
- core: move dialect attr/type parser to new lexer (NFC) @math-fehr (#984)
- core: rename some methods in parser (NFC) @math-fehr (#983)
- core: Allow generic operations @math-fehr (#979)
- core: Remove some unused and deprecated parser methods @math-fehr (#982)
- core: Allow to print regions with arguments separately @math-fehr (#974)
- core: Add region arguments support in parser @math-fehr (#972)
- core: Fix is_structurally_equivalent @math-fehr (#977)
- core: parse region properly @math-fehr (#971)
- core: Add HasParent trait @math-fehr (#965)
- core: move symbol parsing to lexer @math-fehr (#960)
- core: Remove unused try_parse_value_id_and_type method @math-fehr (#961)
- core: Remove irdl mlir printer @math-fehr (#959)
- core: Add successors to IRDL @math-fehr (#905)
- core: Move block parser to lexer @math-fehr (#946)
- core: Rename -split-input-file to --split-input-file @math-fehr (#953)
- core: use Sequence[Operation] in PatternRewriter @superlopuh (#947)
- core: add --print-op-generic to xdsl-opt, and add custom syntax for
builtin.module
@math-fehr (#944) - core: Update printer @ShaolunWang (#931)
- frontend: Strengthen Python code check @georgemitenkov (#802)
- core: Switch to ClassVar names in
Operation
,ModulePass
andAttribute
@TaoBi22 (#902) - core: Remove build from Attribute @TaoBi22 (#898)
- core: Remove parse_int_literal with parse_integer @math-fehr (#881)
- core: make walk an iterator instead of passing function @superlopuh (#878)
- core: Add Position as alias for
int
@math-fehr (#879) - core: add dce function to allow for dead code elimination within other passes @superlopuh (#875)
- core: Add parsing for attributes with keyword @math-fehr (#868)
- core: Add support for interfaces through traits @math-fehr (#862)
- core: fix DenseIntOrFPElementsAttr.tensor_from_list with empty shape @superlopuh (#873)
- core: Update mlir hash @math-fehr (#871)
- core: Allow default values and default factories in dataclasses @AntonLydike (#989)
- core: Remove
parse_list_of
and remove its uses @math-fehr (#981) - core: Integrate parser for more complex pass pipeline specs into xdsl-opt @AntonLydike (#964)
- core: Add parser for more complex pass pipeline specs @AntonLydike (#956)
- core: Add lexer for more complex pass pipeline specs @AntonLydike (#955)
- core: SSAValue.name -> name_hint @superlopuh (#904)
Dialects
- dialects: Add a dialect for high-level distributed memory parallelism operations @AntonLydike (#1005)
- dialects: (llvm) add name printing/parsing to struct @superlopuh (#1010)
- dialects: Factorize stencil types. @PapyChacal (#1001)
- dialects: Add custom printing to arith binary ops @PapyChacal (#991)
- dialects: Add mpi.gather operation with lowering @AntonLydike (#998)
- dialects: Add custom parsing to arith binary ops @PapyChacal (#990)
- dialects: Factoring out some mpi passes, adding support for pass args @AntonLydike (#996)
- dialects: Add IRDL dialect @math-fehr (#978)
- dialects: Switch all arith binary operations to init @PapyChacal (#988)
- dialects: Improve and test memref.Subview.from_static_parameters @PapyChacal (#986)
- dialects: Make arith.BinaryOp Generic. @PapyChacal (#987)
- dialects: Add custom syntax to stencil types @PapyChacal (#976)
- dialects: riscv: Add DirectiveOp to riscv dialect @adutilleul (#969)
- dialects: Add custom syntax for stencil.index @PapyChacal (#975)
- dialects: add pdl custom format @math-fehr (#945)
- dialects: Fix some PDL constructors and definitions @math-fehr (#954)
- dialects: add riscv_func with lowering from syscall op @superlopuh (#914)
- dialects: introduces riscv Jump operations with better return address handling @superlopuh (#932)
- dialects: Fix a comparison in mpi lowering @AntonLydike (#951)
- dialects: add ability to print comments in riscv assembly @superlopuh (#908)
- dialects: Change RewriteOp constructor @math-fehr (#942)
- dialects: Remove unused things from stencil dialect @meshtag (#936)
- dialects: Improve stencil result type @meshtag (#938)
- dialects: dialects: add snitch → riscv lowering @nazavode (#919)
- dialects: make register name property non-optional @superlopuh (#934)
- dialects: Relax castOp verifier @AntonLydike (#927)
- dialects: Improve Stencil TempType @meshtag (#924)
- dialects: remove dealloca because it doesn't exist @ShaolunWang (#921)
- dialects: streamline snitch to basic config ops @nazavode (#915)
- dialects: Add tests for stencil.IndexAttr @meshtag (#909)
- dialects: Remove unused constraint from stencil dialect @meshtag (#917)
- dialects: Lowering for stencil indexop @mesham (#912)
- dialects: Add memref.dma_wait op @lukamac (#894)
- dialects: Improve Stencil Fieldtype @meshtag (#907)
- dialects: add mv pseudo-instruction to riscv dialect @superlopuh (#910)
- dialects: Stencil load op get method enhancement @mesham (#899)
- dialects: add snitch low-level dialect @nazavode (#872)
- dialects: Add memref.dma_start op @AntonLydike (#893)
- dialects: add riscv.GetRegisterOp @superlopuh (#896)
- dialects: add riscv.ret @superlopuh (#900)
- dialects: Add xdsl-opt option to emit RISCV assembly @JosseVanDelm (#877)
- dialects: Add wfi instruction, update link to spec @AntonLydike (#895)
- dialects: Rename call get ops->args @AntonLydike (#897)
- dialects: Move stencil
CastOp
from experimental to main @AntonLydike (#891) - dialects: Improve GEPOp docs and ergonomics @AntonLydike (#606)
- dialects: Improvements to stencil dialect for indexop and applyop @mesham (#888)
- dialects: add jal, j, jalr + LabelAttr to riscv @superlopuh (#886)
- stencil: add verify to LoadOp and StoreOp @AntonLydike (#889)
- dialects: Add verify for
stencil.cast
@AntonLydike (#884) - dialects: Fix PDL definitions, and lint it with latest xDSL features @math-fehr (#882)
- dialects: register allocation skips indices @superlopuh (#876)
- dialects: Add infinite register allocation as a compiler pass @JosseVanDelm (#865)
- dialects: use constants for RISC-V register names instead of strings @superlopuh (#866)
- dialects: add 'M' standard extension rv32m/rv64m @eymay (#925)
🗎 Documentation
- documentation: add inlining to Toy @superlopuh (#948)
- documentation: move interpret test to filecheck @superlopuh (#949)
- documentation: add shape inference to Toy @superlopuh (#943)
- documentation: add Ch3 playground @superlopuh (#940)
- documentation: add Toy optimisations @superlopuh (#933)
- documentation: fix toy playgrounds @superlopuh (#935)
- documentation: fix imports @superlopuh (#922)
- documentation: move chapter 2 contents from xdsl-workshop @superlopuh (#870)
- documentation: remove .xdsl file extension mentions @superlopuh (#901)
- dialects: Improve GEPOp docs and ergonomics @AntonLydike (#606)
- misc: put MLIR commit hash into README @AntonLydike (#885)
- docs: add back scalar.toy filecheck @superlopuh (#874)
🐛 Bug Fixes
- core: Fix is_structurally_equivalent @math-fehr (#977)
- bug: Fix merge of #960 @math-fehr (#963)
- dialects: fix missing attribute from riscv.csrrwi @nazavode (#892)
- bug: Fix use of
walk
method @math-fehr (#880)
Testing
- tests: Only test that we have passes/parsers/targets available on xdsl-opt @AntonLydike (#997)
- testing: add nbval to requirements-optional @superlopuh (#923)
- tests: Adding support for "-split-input-file" @ShaolunWang (#861)
- install: move dev imports to requirements-optional @superlopuh (#903)
- documentation: remove .xdsl file extension mentions @superlopuh (#901)
- tests: Add main and filecheck tests for Toy @superlopuh (#867)
- testing: Removed Test tests/filecheck/dialects/riscv/riscv_allocation.mlir @eymay (#928)
Continuous Integration
- CI: Remove Pyright on diffs @webmiche (#1000)
- CI: Add CODEOWNERS file with math-fehr ownership @math-fehr (#966)
- CI: add new label to release drafter @AntonLydike (#918)
Installation
- pip prod(deps): bump pyright from 1.1.309 to 1.1.310 @dependabot (#1006)
- pip prod(deps): bump pyright from 1.1.308 to 1.1.309 @dependabot (#967)
- pip prod(deps): bump pre-commit from 3.3.1 to 3.3.2 @dependabot (#962)
- pip prod(deps): bump pyright from 1.1.307 to 1.1.308 @dependabot (#950)
- pip prod(deps): bump pyright from 1.1.306 to 1.1.307 @dependabot (#939)
- install: move dev imports to requirements-optional @superlopuh (#903)
- pip prod(deps): bump pyright from 1.1.305 to 1.1.306 @dependabot (#869)
Miscellaneous
- misc: enable --split-input-file --verify-diagnostics @PapyChacal (#1011)
- misc: remove extra newline print in riscv assembly @superlopuh (#993)
- documentation: fix toy playgrounds @superlopuh (#935)
- documentation: fix imports @superlopuh (#922)
- dialects: Remove unused constraint from stencil dialect @meshtag (#917)
0.12.1
This release is added because of a mistake @math-fehr made when uploading to PyPi.
v0.12
Changes
This xDSL release contains two major breaking changes:
- Operations are now stored in
Block
using a doubly-linked list structure (#762) - The xDSL textual format is removed, and only the MLIR textual syntax is currently supported.
xDSL framework
- core: Add operation custom format @math-fehr (#854)
- core: add dead code elimination to xDSL @superlopuh (#846)
- core: Remove xDSL parser @math-fehr (#840)
- core: Remove uses of Target.XDSL in Printer @math-fehr (#837)
- frontend: Add README with a toy example @georgemitenkov (#793)
- core: remove op_at_index @superlopuh (#825)
- core: remove op custom syntax @math-fehr (#832)
- core: new_results takes sequence instead of list @superlopuh (#835)
- core: make MLIR the default syntax in xdsl-opt @math-fehr (#827)
- core: remove insert_op_at_pos in Block @superlopuh (#824)
- core: replace Rewriter.insert_op_at_pos with start/end @superlopuh (#823)
- core: remove inline_block_at_pos @superlopuh (#787)
- frontend: Add assert @georgemitenkov (#806)
- frontend: Add basic for loop support @georgemitenkov (#800)
- frontend: Add support for If and IfExpr @georgemitenkov (#799)
- core: move Block.ops to a doubly-linked list structure @superlopuh (#762)
- core: ModuleOp.ops, Region.ops and Block.ops are BlockOps @superlopuh (#795)
- core: Hoist get_type_hint in from_pyrdl @PapyChacal (#785)
- core: remove call to register dialect @superlopuh (#784)
- core: allow passing None for optional OpResult @superlopuh (#772)
- core: Add detach_region and get_region_index in Operation @meshtag (#756)
- core: deprecate ModuleOp.from_region_or_ops @superlopuh (#767)
- core: add Block.insert_op(s?)_(before|after) @superlopuh (#758)
Dialects
- dialects: add all rv32i/rv64i CSR instructions @nazavode (#852)
- dialects: add LowerNullRequestOp to lower-mpi pass @AntonLydike (#857)
- dialects: add riscv ebreak operation @JosseVanDelm (#858)
- dialects: add missing init to riscv.NullaryOperation @superlopuh (#851)
- dialects: Add riscv ecall instruction @JosseVanDelm (#853)
- dialects: add register index and name to riscv.Register @superlopuh (#848)
- dialects: add load/store to riscv @tobiasgrosser (#847)
- dialects: add all rv32i/rv64i register-register instructions @nazavode (#849)
- dialects: remove invisible characters from riscv dialect @tobiasgrosser (#845)
- dialects: add riscv branch instructions @tobiasgrosser (#843)
- dialects: add all rv32i/rv64i register-immediate instructions @nazavode (#844)
- dialects: add riscv.addi operation @nazavode (#841)
- dialects: add riscvxor instruction @superlopuh (#834)
- dialects: add riscv.li operation @nazavode (#836)
- dialects: add riscv.sub operation @nazavode (#833)
- dialects: add first RISCV instruction and everything it depends on @superlopuh (#829)
- dialects: Add cf.assert @georgemitenkov (#801)
- dialects: Remove IRDL dialect @math-fehr (#782)
- dialects: Reduction support for scf parallel @mesham (#770)
- dialects: Move Addi.get to Addi.init. @PapyChacal (#748)
- dialects: Support in LLVM dialect for global and addressof operations @mesham (#760)
- tests: Add test dialect @math-fehr (#742)
- dialects: scf.if make else region optional @AntonLydike (#727)
- dialects: fix the MpiLoopInvariantCodeMotion pass @AntonLydike (#860)
Testing
- tests: Move more tests to MLIR syntax @math-fehr (#831)
- tests: make test_value hashable @superlopuh (#830)
- tests: Remove test that was already ported to MLIR syntax @math-fehr (#812)
- tests: Move xdsl-opt tests to MLIR syntax @math-fehr (#804)
- tests: Move some pytest tests to MLIR syntax @math-fehr (#811)
- tests: Remove redundant tests using the xDSL syntax @math-fehr (#809)
- tests: Move mlir_interoperation notebook test to MLIR syntax @math-fehr (#807)
- tests: Move desymref test to MLIR syntax @math-fehr (#808)
- tests: move SCF test to MLIR syntax @math-fehr (#805)
- tests: Move parser/printer tests to MLIR syntax @math-fehr (#803)
- tests: migrate op builder tests to structural equivalence @superlopuh (#794)
- tests: Move vector tests to MLIR format @math-fehr (#783)
- tests: Move func tests to MLIR syntax @tobiasgrosser (#781)
- tests: Move cmath tests to MLIR syntax @tobiasgrosser (#780)
- tests: Remove xdsl syntax from cf tests @tobiasgrosser (#779)
- tests: Move builtin tests to MLIR syntax @tobiasgrosser (#778)
- tests: Move arith tests to MLIR syntax @math-fehr (#777)
- tests: Move affine tests to MLIR syntax @math-fehr (#776)
API
- misc: Moving list to Sequence/Iterable in
xdsl/dialects
@ShaolunWang (#842) - builtin: Add
__iter__
method toArrayAttr
@AntonLydike (#741) - misc: add is_empty property to block @superlopuh (#757)
- misc: migrate Toy dialect to inits @superlopuh (#753)
- misc: allow passing single block to Region init @superlopuh (#744)
🗎 Documentation
- docs: Remove old changelog @math-fehr (#864)
- frontend: Add README with a toy example @georgemitenkov (#793)
- docs: move toy files @superlopuh (#838)
- misc: Update README and remove .yapfignore after switching to black @PapyChacal (#774)
- docs: fix ch2 @superlopuh (#761)
- docu: Make notebook use MLIR output @tobiasgrosser (#759)
- docs: add Toy Tutorial Chapter 2 @superlopuh (#739)
🐛 Bug Fixes
- core: fix PatternRewriter.inline_block_after @superlopuh (#773)
Continuous Integration
- CI: Change CI name for better readability @math-fehr (#786)
- CI: Add pre-commit for black, whitespaces, and end-of-line @math-fehr (#775)
- CI: Retrieve pyright version from requirements file @webmiche (#766)
- CI: switch formatter to black. @PapyChacal (#763)
- CI: Fix typo in CI @math-fehr (#771)
- CI: Update Pyright to 1.1.304 @webmiche (#765)
Installation
- pip prod(deps): bump pre-commit from 3.3.0 to 3.3.1 @dependabot (#856)
- pip prod(deps): bump pre-commit from 3.2.2 to 3.3.0 @dependabot (#850)
- pip prod(deps): bump pyright from 1.1.304 to 1.1.305 @dependabot (#792)
- pip prod(deps): bump pyright from 1.1.303 to 1.1.304 @dependabot (#764)
- pip prod(deps): update yapf requirement from <0.33 to <0.34 @dependabot (#755)
Miscellaneous
- dialects: add LowerNullRequestOp to lower-mpi pass @AntonLydike (#857)
- misc: Moving list to Sequence/Iterable in
xdsl/dialects
@ShaolunWang (#842) - core: remove inline_block_at_pos @superlopuh (#787)
- misc: lint test_xdsl_opt.py @superlopuh (#789)
- core: remove call to register dialect @superlopuh (#784)
- misc: move irdl_definition to IRDLOperation @superlopuh (#751)
- dialects: scf.if make else region optional @AntonLydike (#727)
- misc: migrate Toy dialect to inits @superlopuh (#753)
- misc: Replacing some List with Sequence in core xdsl @ShaolunWang (#798)