v0.16.0
github-actions
released this
18 Dec 14:25
·
1292 commits
to refs/heads/main
since this release
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 from 1.1.339 to 1.1.340 @dependabot (#1867)
- pip prod(deps): bump ruff from 0.1.7 to 0.1.8 @dependabot (#1866)
- pip prod(deps): bump isort from 5.13.1 to 5.13.2 @dependabot (#1868)
- pip dev(deps-dev): bump textual from 0.44.1 to 0.45.1 @dependabot (#1860)
- pip prod(deps): bump isort from 5.13.0 to 5.13.1 @dependabot (#1855)
- pip prod(deps): bump isort from 5.12.0 to 5.13.0 @dependabot (#1849)
- pip prod(deps): bump pre-commit from 3.5.0 to 3.6.0 @dependabot (#1851)
- pip dev(deps-dev): bump wgpu from 0.13.0 to 0.13.1 @dependabot (#1850)
- pip prod(deps): bump pyright from 1.1.338 to 1.1.339 @dependabot (#1844)
- pip prod(deps): bump pyright from 1.1.337 to 1.1.338 @dependabot (#1819)
- pip dev(deps-dev): bump textual from 0.44.0 to 0.44.1 @dependabot (#1833)
- pip prod(deps): bump ruff from 0.1.6 to 0.1.7 @dependabot (#1832)
- pip prod(deps): bump pytest-asyncio from 0.23.1 to 0.23.2 @dependabot (#1831)
- pip prod(deps): bump pytest-asyncio from 0.21.1 to 0.23.1 @dependabot (#1827)
- pip dev(deps-dev): bump textual from 0.43.2 to 0.44.0 @dependabot (#1828)
- pip dev(deps-dev): bump textual from 0.43.0 to 0.43.2 @dependabot (#1820)
- pip dev(deps-dev): bump textual from 0.42.0 to 0.43.0 @dependabot (#1818)
- pip prod(deps): update filecheck requirement from <0.0.24 to <0.0.25 @dependabot (#1817)
- pip dev(deps-dev): update immutabledict requirement from <3.0.1 to <4.0.1 @dependabot (#1815)
- pip dev(deps-dev): bump wgpu from 0.12.0 to 0.13.0 @dependabot (#1816)
- pip prod(deps): bump pyright from 1.1.335 to 1.1.336 @dependabot (#1796)
- pip dev(deps-dev): bump textual from 0.41.0 to 0.42.0 @dependabot (#1813)
- pip prod(deps): bump ruff from 0.1.5 to 0.1.6 @dependabot (#1806)
- pip dev(deps-dev): bump wgpu from 0.11.0 to 0.12.0 @dependabot (#1795)
- pip prod(deps): bump pyright from 1.1.334 to 1.1.335 @dependabot (#1766)
- pip prod(deps): bump ruff from 0.1.4 to 0.1.5 @dependabot (#1765)
- pip dev(deps-dev): bump textual from 0.40.0 to 0.41.0 @dependabot (#1764)
- pip prod(deps): bump ruff from 0.1.3 to 0.1.4 @dependabot (#1757)
- pip prod(deps): bump pyright from 1.1.333 to 1.1.334 @dependabot (#1745)
- installation: move non-dynamic setup to pyproject.toml @superlopuh (#1731)
- installation: move versioneer cfg to pyproject.toml @superlopuh (#1730)
- installation: move non-versioneer settings to pyproject.toml @superlopuh (#1729)
- misc: upgrade versioneer to 0.29 using
versioneer install --vendor
@superlopuh (#1728) - pip prod(deps): bump ruff from 0.1.2 to 0.1.3 @dependabot (#1705)
- pip prod(deps): bump pyright from 1.1.332 to 1.1.333 @dependabot (#1701)
- pip prod(deps): bump ruff from 0.1.1 to 0.1.2 @dependabot (#1696)
- pip prod(deps): bump ruff from 0.1.0 to 0.1.1 @dependabot (#1682)
- pip prod(deps): bump pyright from 1.1.331 to 1.1.332 @dependabot (#1676)
- pip prod(deps): bump ruff from 0.0.292 to 0.1.0 @dependabot (#1671)
- pip prod(deps): bump pre-commit from 3.4.0 to 3.5.0 @dependabot (#1670)
- dependencies: Bump riscemu to 2.2.5 @AntonLydike (#1653)
Miscellaneous
- misc: make VSCode Pylance happy with int type @superlopuh (#1879)
- misc: Remove accidentally commited file @georgebisbas (#1871)
- misc: Bump MLIR to 98e674c9f16d677d95c67bc130e267fae331e43c. @PapyChacal (#1824)
- misc: (Makefile) Use a better message for
tests
target @compor (#1787) - misc: remove flake8 config @superlopuh (#1769)
- misc: move dependencies out of requirements-optional @superlopuh (#1744)
- misc: add vscode action for xdsl-run of current file @superlopuh (#1719)
- testing: make fewer tests fail if riscemu is not installed @superlopuh (#1717)
- dialects: (gpu) Elide returns in init methods @compor (#1694)
- misc: add an integration test file for linalg to snitch lowering pipeline @superlopuh (#1691)
- misc: add a launch.json to launch xdsl-opt from vscode @superlopuh (#1674)
- dialects: Add and-bitwise rewrite pattern @alecerio (#1665)
- misc: fix relative link in README @Quarub (#1869)
Interactive
- interactive: add diff to operation count table @dshaaban01 (#1870)
- interactive: add number of operations to visual and toggle between 2 modes @dshaaban01 (#1865)
- interactive: add ability to input parameters on passes that have arguments @dshaaban01 (#1864)
- interactive: add test to count_number_of_ops @dshaaban01 (#1862)
- interactive: remove flashing error from mlir-opt @superlopuh (#1857)
- interactive: add function that counts number of operations in a module @dshaaban01 (#1861)
- interactive: change normalize_arg_names() in parse_pipeleline.py to return a tuple instead of dict @dshaaban01 (#1859)
- interactive: adding a function that takes a module pass and returns a pipelinepassspec + tests @dshaaban01 (#1841)
- interactive: add function that takes a module pass and outputs a string containing name of pass args + types @dshaaban01 (#1842)
- interactive: adding function that takes a pipelinepasspsec and returns its strings+ tests @dshaaban01 (#1834)
- interactive: fix pr 1 - error @dshaaban01 (#1823)
- interactive: Moving the pass pipeline string construction to own function (2/4) @dshaaban01 (#1822)
- interactive: add comments + docstrings (1/4) @dshaaban01 (#1821)
- interactive: add button "load file" which opens directory tree allowing file selection +load into text area (7/7) @dshaaban01 (#1809)
- interactive: preload initial example(6/7) @dshaaban01 (#1808)
- interactive: add "remove last pass" button (5/7) @dshaaban01 (#1807)
- interactive: remove redundant test @dshaaban01 (#1805)
- interactive: toggle condense/uncondense button (4/7) @dshaaban01 (#1799)
- interactive: condense feature added and condense_pass list calculated dynamically! (3/7) @dshaaban01 (#1793)
- interactive : stylistic changes @dshaaban01 (#1804)
- interactive: fix tiny error I made while merging PR #1789 @dshaaban01 (#1803)
- interactive: add "clear passes button" (2/7) @dshaaban01 (#1789)
- interactive: change to ListView (1/7) @dshaaban01 (#1788)
- interactive: app, add "clear passes" button (7/7) @dshaaban01 (#1775)
- interactive: add "copy query" button (6/7) @dshaaban01 (#1774)
- interactive: added label to display selected queries to user (5/7) @dshaaban01 (#1773)
- interactive: app - ability to choose and apply passes onto IR (4/7) @dshaaban01 (#1772)
- interactive: add copy output button + made changes related to textual update affecting testing (3/7) @dshaaban01 (#1770)
- interactive: add clear input button and tests (2/7) @dshaaban01 (#1768)
- interactive: App (1/7) @dshaaban01 (#1759)
- interactive: clean up file, correct/add some comments, xdsl-gui command @dshaaban01 (#1783)