v0.17
·
1467 commits
to refs/heads/main
since this release
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 prod(deps): bump textual-dev from 1.2.1 to 1.3.0 @dependabot (#1893)
Miscellaneous
- misc: lint notebooks @superlopuh (#2000)
- testing: (riscv) add test for riscemu emulation when lowering to riscv_cf @superlopuh (#1980)
- misc: sort passes dict literal alphabetically [NFC] @superlopuh (#1967)
- misc: (Toy) add toy run action for VSCode @superlopuh (#1942)
Interactive
- interactive: add further terminal features @dshaaban01 (#2050)
- interactive: changes to label/query @dshaaban01 (#2052)
- interactive : command line additions @dshaaban01 (#2045)