v0.12
·
2536 commits
to refs/heads/main
since this release
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)