v0.10.0
·
2540 commits
to refs/heads/main
since this release
xDSL framework
- core: Improve AllOf to collect failure data of all constraints @meshtag (#467)
- core: Fix bug in
bare-id
lexer rule @math-fehr (#711) - core: Add 'parse_number' methods @math-fehr (#710)
- core: deprecate Region.get @superlopuh (#698)
- core: allow block.insert_op to take negative positions @AntonLydike (#723)
- core: Move custom Operation verification 'verify_()' to end of verify function @ed741 (#664)
- core: Fix function type parsing @math-fehr (#719)
- core: Add scalable dimensions to vector @math-fehr (#718)
- dialects: Add bf16, f80, and f128 to builtin @math-fehr (#717)
- core: Parse negative and hexadecimal values in integer attributes @math-fehr (#708)
- core: Add public 'parse_boolean' methods @math-fehr (#709)
- core: Improve
dense
attribute parsing @math-fehr (#707) - core: Add tuple support to isa @AntonLydike (#701)
- core: Add
get_float_value
method toToken
@math-fehr (#691) - dialects: Add ComplexType, and parsing for it @math-fehr (#689)
- dialects: Add encoding on tensors @math-fehr (#688)
- core: Allow using value tuples in MLIR syntax @math-fehr (#687)
- core: Allow to parse comma separated undelimeted lists @math-fehr (#685)
- core: Add parse_integer function @math-fehr (#665)
- core: use init for creating regions, as opposed to constructor method @superlopuh (#682)
- core: add block init with all the fields @superlopuh (#680)
- core: Allow op_type_rewrite_pattern to use unions @math-fehr (#676)
- core: Add support for parsing dense with vector type @math-fehr (#667)
- core: Add support for printing/parsing affine attributes @math-fehr (#655)
- core: Rename result_index to index for OpResult class @mohsinipk (#587)
- RFC: implicit builder regions @superlopuh (#634)
- core: Allow parsing of singleton unregistered attrs @math-fehr (#656)
- core: operands, result_types, and regions args in build accept optional values @superlopuh (#651)
- core: allow optional attribute values in build argument @superlopuh (#649)
- core: add punctuation parsing @math-fehr (#644)
- core: move backtracking from tokenizer to parser @math-fehr (#643)
- core: remove generic attr parsing @math-fehr (#639)
- core: Add parsing and printing for UnregisteredAttr @math-fehr (#632)
- core: Add get_int_value method to Token @math-fehr (#638)
- core: add UnregisteredAttr @math-fehr (#626)
- core: Add lexer in parser @math-fehr (#627)
- core: rename MLIRType to TypeAttribute @Fergtic (#625)
- core: PDL interpreter @superlopuh (#604)
- core: add OpBuilder @superlopuh (#617)
- core: Move unregistered operation logic to MLContext @math-fehr (#616)
- core: Create Lexer, following MLIR specification @math-fehr (#553)
- core: interpreter @superlopuh (#579)
- core: add more PDL dialect constructors @superlopuh (#603)
- frontend: Add basic desymref @georgemitenkov (#396)
- core: Add traits @math-fehr (#578)
- core: Allow to set attributes using their fields @math-fehr (#599)
- core: Add support for multiple variadic regions @math-fehr (#582)
- core: Loosen restrictions on SSAValue.name field @AntonLydike (#574)
- core: Make
break_on
in theLexer
private @math-fehr (#543) - core: unify builder arg building @superlopuh (#563)
- core: remove "verify" method override in irdl_param_attr_definition @superlopuh (#542)
- core: Change ssa val
__repr__
@AntonLydike (#533) - dialects: Clean up type vars for Attribute types @Fergtic (#525)
- core: always print a newline in a block, make consistent with MLIR syntax @superlopuh (#532)
- core: Add
GenericData
toisa
type checks @math-fehr (#502) - misc: make ArrayAttr covariant by using tuple instead of list @superlopuh (#509)
- parser: Fix parsing of multiple regions @AntonLydike (#507)
- core: Remove more left-overs from the Python Bindings @webmiche (#504)
- core: Add SSAValue.definition property. @PapyChacal (#470)
- Lint frontend files @superlopuh (#452)
- xDSL: add immutable core IR structures @martin-luecke (#334)
- xdsl: provide custom str and format functions for attrs and ops @superlopuh (#445)
- core: Remove builder for attributes @math-fehr (#416)
- dialects: Add basic MPI dialect @AntonLydike (#435)
- core: Add support for nested symbol references @Moxinilian (#429)
- xdsl: use irdl_definition in Operation.verify @superlopuh (#442)
- core: fix parser for parametric attr @math-fehr (#427)
- API: Fix pyright issue in printer.py @math-fehr (#419)
- API: Fix pyright issues in xdsl-opt-main @math-fehr (#418)
- API: Fix some pyright issues in parser and dialects @math-fehr (#420)
Dialects
- core: Add scalable dimensions to vector @math-fehr (#718)
- dialects: Move stencil shape inference to its own file @PapyChacal (#720)
- dialects: Add bf16, f80, and f128 to builtin @math-fehr (#717)
- dialects: Minor fixes in the stencil+mpi lowering @AntonLydike (#699)
- dialects: Disallow unranked dense attributes @math-fehr (#706)
- dialects: Make vector generic arguments covariants @math-fehr (#705)
- dialects: stencil lowering: generate only one outermost parallel loop @tobiasgrosser (#683)
- dialects: Make stencil.apply work with float args @meshtag (#695)
- dialects: Enhance stencil testing @georgebisbas (#662)
- dialects: Use memref.subview for stencil.store @PapyChacal (#678)
- dialects: Tobias stencil memref.subview @tobiasgrosser (#666)
- dialects: Make passes a type @PapyChacal (#611)
- dialects: Add better init for IntegerAttr @math-fehr (#692)
- core: Reimplement shape parser with new lexer @math-fehr (#690)
- dialects: Add ComplexType, and parsing for it @math-fehr (#689)
- dialects: Add encoding on tensors @math-fehr (#688)
- dialects: mpi+stencil Add a loop-invariant-code-motion pass to move allocations and mpi_comm_rank calls out of loops @AntonLydike (#679)
- dialects: Add lowering for stencil-global to stencil-local + mpi @AntonLydike (#675)
- mpi: add NullRequestOp to handle MPI_REQUEST_NULL things @AntonLydike (#674)
- dialects: Reverse array indexing for converting
stencil
to LLMLIR @tobiasgrosser (#669) - dialects: 1D MPI halo swapping for stencil dialect @mesham (#661)
- dialects: Add a builder for fully static memref.subview @PapyChacal (#653)
- dialects: Negf operation added to arith dialect @mesham (#654)
- dialects: A revert for PR 648 @mesham (#657)
- dialects: cmpf operation in arith dialect @mesham (#646)
- dialects: Add support for returning multiple results using stencil.return @meshtag (#648)
- dialects: Add layouts and memory space to memrefs @math-fehr (#645)
- dialects: Improve stencil shape inference @PapyChacal (#633)
- dialects: Add strided layout attribute @math-fehr (#640)
- core: add UnregisteredAttr @math-fehr (#626)
- dialects: Missing math operations @mesham (#641)
- dialects: Minor bug fix for stencil transformation @mesham (#635)
- dialects: Unrealized conversion cast operation @mesham (#621)
- dialects: Add gpu.MemcpyOp and tests. @PapyChacal (#614)
- dialects: LLVM array type @mesham (#619)
- dialects: Stencil dialect minor enhancement @mesham (#620)
- dialects: Add gpu.DeallocOp @PapyChacal (#613)
- stencil: Add CastOp.get @AntonLydike (#595)
- dialects: Add gpu.AllocOp @PapyChacal (#612)
- dialects: [experimental] Add a Stencil dialect @AntonLydike (#469)
- builtin: Add ArrayAttr.len @AntonLydike (#480)
- memref: Add memref.extract_aligned_pointer_as_index @AntonLydike (#478)
- builtin: Add SymbolRefAttr.string_value @AntonLydike (#479)
- mpi: Move to preallocated request objects + collectives @AntonLydike (#590)
- mpi: Add collectives @AntonLydike (#598)
- core: IntegerType is an MLIRType @superlopuh (#601)
- dialects: Swap dimensions when lowering stencil to loops @PapyChacal (#602)
- dialect: ExtFOp and TruncFOp in arith dialect @mesham (#600)
- stencil: Correct in-bound checks during shape inference @PapyChacal (#597)
- dialects: Implementing llvm.getelementptr @Fergtic (#541)
- dialects: refactor stencil lowerings @PapyChacal (#592)
- dialects: Add stencil.ExternalLoadOp lowering @AntonLydike (#594)
- math: Add a math dialect and register it to xdsl-opt @AntonLydike (#593)
- llvm: PtrToIntOp operation @AntonLydike (#591)
- stencil: Add a bunch of
.get
helpers and fix some older ones @AntonLydike (#584) - dialects: Add basic shape inference to stencil. @PapyChacal (#581)
- dialects: Add a stencil.ApplyOp to gpu.LaunchOp lowering. @PapyChacal (#577)
- dialects: Make stencil work in 1,2,3D. @PapyChacal (#573)
- dialects: Add stencil lowerings and first lowered example. @PapyChacal (#566)
- dialects: Add a stencil.AccesOp -> memref.Load lowering. @PapyChacal (#565)
- dialects: Add a stencil.ApplyOp to scf.ParallelOp lowering. @PapyChacal (#556)
- llvm: Add
ptr.is_typed()
method to check if pointer is typed @AntonLydike (#562) - dialects: add PDL dialect @superlopuh (#552)
- dialects: Add stencil.LoadOp -> memref lowering. @PapyChacal (#549)
- llvm: Add llvm.store operation @AntonLydike (#546)
- dialects: Add a stencil.CastOp -> memref.Cast lowering. @PapyChacal (#545)
- dialects: Add memref.Cast.get. @PapyChacal (#544)
- arith: Add arith
fptosi
andsitofp
operations @AntonLydike (#539) - dialects: Implement scf.parallel @PapyChacal (#537)
- dialects: Add filecheck tests for stencil dialect and init rewriting @meshtag (#499)
- dialects: Initial math dialect @mesham (#536)
- MPI: Move
isend
andirecv
to pointers @AntonLydike (#530) - mpi: add all info generated by mpi-info.c @AntonLydike (#527)
- xDSL/builtin: Add Verifier annotations for vector type and rank check @meshtag (#431)
- dialects: Add HostRegisterOp to GPU @PapyChacal (#513)
- mpi: move
send
andrecv
to consumellvm.ptr
instead of amemref
@AntonLydike (#517) - dialects: Allow UnrankedMemrefType on relevant existing memref ops. @PapyChacal (#512)
- mpi: Add a lowering from MPI to llvm+func+builtin @AntonLydike (#481)
- dialects: Deprecate many constructors in favor of init @math-fehr (#454)
- dialects: Add memref.subview and memref.cast @meshtag (#497)
- dialects: Add FastMathFlagsAttr to the Arith dialect. @KarelPeeters (#458)
- dialects: Add LaunchOp and TerminatorOp to GPU. @PapyChacal (#490)
- dialects: Add AllReduceOp & YieldOp to GPU. @PapyChacal (#488)
- dialects: Add trivial GPU operations. @PapyChacal (#484)
- dialects: Add DimensionAttr and AllReduceOperationAttr to GPU dialect @PapyChacal (#474)
- dialects: Add GPU dialect first operations. @PapyChacal (#456)
- mpi: Cleanup definitions in preperations of the lowering @AntonLydike (#466)
- builtins: Extend MemRef to cover more of the MLIR dialect @AntonLydike (#447)
- llvm: Add additional ops @AntonLydike (#464)
- dialects: Extend arith and func @AntonLydike (#465)
- dialects: Add scf.for @PapyChacal (#443)
- dialects: Add basic MPI dialect @AntonLydike (#435)
API
- core: allow block.insert_op to take negative positions @AntonLydike (#723)
- dialects: Make vector generic arguments covariants @math-fehr (#705)
- dialects: Make passes a type @PapyChacal (#611)
- core: deprecate Block.from_arg_types @superlopuh (#686)
- core: use init for creating regions, as opposed to constructor method @superlopuh (#682)
- core: Rename result_index to index for OpResult class @mohsinipk (#587)
- core: rename MLIRType to TypeAttribute @Fergtic (#625)
- dialects: Deprecate many constructors in favor of init @math-fehr (#454)
- core: Add SSAValue.definition property. @PapyChacal (#470)
- Reduce number of files with lint errors @superlopuh (#451)
- Fix some pyright issues in parser.py @math-fehr (#421)
- API: Fix pyright issue in printer.py @math-fehr (#419)
- API: Fix pyright issues in xdsl-opt-main @math-fehr (#418)
- API: Fix some pyright issues in parser and dialects @math-fehr (#420)
🗎 Documentation
- docs: Fix install guide in the README @webmiche (#713)
- examples: Update database example to latest xDSL @tobiasgrosser (#694)
- docs: add Toy MLIRGen @superlopuh (#576)
- docs: sync toy dialect from workshop repo @superlopuh (#575)
- docs: A few typo fixes, plus some comments @afd (#547)
- docs: Init xDSL-MLIR interoperation tutorial @georgebisbas (#394)
- docs: Mention Zulip in the README @goens (#528)
- CI: Create xDSL pyodide package if not present. @PapyChacal (#449)
- docs: Notebook introducing MLIR/xDSL concepts with examples @pingshiyu (#398)
- CI: Remove coverage from the pyodide/JupyterLite deployment. @PapyChacal (#438)
- docs: Rewrite README partially @webmiche (#392)
🐛 Bug Fixes
- core: Move custom Operation verification 'verify_()' to end of verify function @ed741 (#664)
- core: Fix isa to not assert @AntonLydike (#714)
- bug: Remove remaining use of MLIRType @math-fehr (#637)
- stencil: Correct in-bound checks during shape inference @PapyChacal (#597)
- printer: Fix printing of named block arguments @AntonLydike (#568)
- parser: Fix parsing of multiple regions @AntonLydike (#507)
- dialects: Enable validate on func.FuncOp for external functions @mesham (#498)
- bug: Remove use of Attribute
build
method @math-fehr (#453) - core: Fix successor bug and ignored parameter in parser @Moxinilian (#430)
- bug: Fix error message on missing Operands in the context of variadic Operands @webmiche (#495)
Testing
- tests: Make scf.for test roundtrip @PapyChacal (#473)
- tests: Add the
docs/
to pytest discovery tests @math-fehr (#505) - tests: Collect tests only from the
test/
directory @math-fehr (#501) - dialects: Add mlir conversion test for memref ops @meshtag (#483)
- tests: Add func.call tests @georgebisbas (#436)
- tests: fix PytestCollectionWarning due to naming @georgebisbas (#434)
- xDSL/Vector: Improve tests @meshtag (#423)
- tests: add a TestSSAValue object for tests @superlopuh (#672)
- tests: Fix escape character @math-fehr (#642)
Continuous Integration
- CI: Remove codecov in CI @math-fehr (#716)
- misc: lint test_vector.py @superlopuh (#677)
- ci: bump pyright version in CI @superlopuh (#670)
- misc: lint test_affine.py @superlopuh (#658)
- ci: lint core tests @superlopuh (#631)
- CI: Test all notebooks @PapyChacal (#697)
- ci: update pyright to 1.1.300 in CI @superlopuh (#629)
- CI: fix pyodide-build version. @PapyChacal (#628)
- misc: specify paths for pyright @superlopuh (#624)
- CI: Fix Pyright CI to v1.1.299 @webmiche (#588)
- misc: lint xdsl @superlopuh (#570)
- CI: Fix append-timestamp and naming @webmiche (#529)
- Reduce number of files with lint errors @superlopuh (#451)
- CI: Add Pyright CI @webmiche (#310)
- CI: Create xDSL pyodide package if not present. @PapyChacal (#449)
- CI: Remove coverage from the pyodide/JupyterLite deployment. @PapyChacal (#438)
- misc: Remove usage of coverage in xdsl-opt. @PapyChacal (#433)
- CI: Remove all occurences of the Python Bindings @webmiche (#422)
- CI: Reconfigure CI to cache built binaries @webmiche (#369)
- Update MLIR hash to latest MLIR @math-fehr (#327)
Installation
- pip prod(deps): bump pyright from 1.1.302 to 1.1.303 @dependabot (#721)
- docs: Fix install guide in the README @webmiche (#713)
- pip prod(deps): bump pyright from 1.1.301 to 1.1.302 @dependabot (#681)
- pip prod(deps): bump pyright from 1.1.300 to 1.1.301 @dependabot (#668)
- pip prod(deps): update immutabledict requirement from <2.2.4 to <2.2.5 @dependabot (#647)
- pip prod(deps): update lit requirement from <16.0.0 to <17.0.0 @dependabot (#580)
- pip prod(deps): update immutabledict requirement from <2.2.3 to <2.2.4 @dependabot (#567)
- install: Switch to using entry_points for xdsl-opt script. @KarelPeeters (#475)
Miscellaneous
- core: allow block.insert_op to take negative positions @AntonLydike (#723)
- builtin: Add as_tuple() helper to DenseArrayBase @AntonLydike (#702)
- core: Fix isa to not assert @AntonLydike (#714)
- core: Add tuple support to isa @AntonLydike (#701)
- misc: Slight refactoring/improvement for docs @georgebisbas (#696)
- ci: lint test_func.py @superlopuh (#684)
- misc: lint test_vector.py @superlopuh (#677)
- dialects: Negf operation added to arith dialect @mesham (#654)
- misc: add pyright to requirements-optional.txt @superlopuh (#652)
- dialects: cmpf operation in arith dialect @mesham (#646)
- dialects: Improve stencil shape inference @PapyChacal (#633)
- dialects: Minor bug fix for stencil transformation @mesham (#635)
- dialects: Unrealized conversion cast operation @mesham (#621)
- misc: specify paths for pyright @superlopuh (#624)
- misc: annotate raise_error with NoReturn @superlopuh (#623)
- dialects: Add gpu.MemcpyOp and tests. @PapyChacal (#614)
- dialects: LLVM array type @mesham (#619)
- dialects: Stencil dialect minor enhancement @mesham (#620)
- dialects: Add gpu.DeallocOp @PapyChacal (#613)
- core: IntegerType is an MLIRType @superlopuh (#601)
- dialects: Swap dimensions when lowering stencil to loops @PapyChacal (#602)
- dialect: ExtFOp and TruncFOp in arith dialect @mesham (#600)
- stencil: Correct in-bound checks during shape inference @PapyChacal (#597)
- math: Add a math dialect and register it to xdsl-opt @AntonLydike (#593)
- llvm: PtrToIntOp operation @AntonLydike (#591)
- dialects: Add basic shape inference to stencil. @PapyChacal (#581)
- dialects: Add a stencil.ApplyOp to gpu.LaunchOp lowering. @PapyChacal (#577)
- misc: lint ir.py @superlopuh (#569)
- dialects: Make stencil work in 1,2,3D. @PapyChacal (#573)
- printer: Fix printing of named block arguments @AntonLydike (#568)
- misc: Pass SSAValue or IRNode for structural equality checking @superlopuh (#564)
- dialects: Add a stencil.AccesOp -> memref.Load lowering. @PapyChacal (#565)
- dialects: Add a stencil.ApplyOp to scf.ParallelOp lowering. @PapyChacal (#556)
- llvm: Add
ptr.is_typed()
method to check if pointer is typed @AntonLydike (#562) - misc: Use absolute import for parser @superlopuh (#558)
- minor: don't backtrack when trying to parse characters @superlopuh (#548)
- dialects: Add stencil.LoadOp -> memref lowering. @PapyChacal (#549)
- misc: lint irdl.py @superlopuh (#550)
- llvm: Add llvm.store operation @AntonLydike (#546)
- dialects: Add a stencil.CastOp -> memref.Cast lowering. @PapyChacal (#545)
- dialects: Add memref.Cast.get. @PapyChacal (#544)
- dialects: Implement scf.parallel @PapyChacal (#537)
- misc: Add
__init__.py
to dialects/experimental folder @AntonLydike (#538) - misc: lint parser.py @superlopuh (#524)
- bench: Add benchmark for the MLIR parser @math-fehr (#615)
- misc: add type annotations to build function @superlopuh (#496)
- mpi: add all info generated by mpi-info.c @AntonLydike (#527)
- misc: Improve messages @georgebisbas (#518)
- misc: lint builtin.py @superlopuh (#511)
- misc: lint vector.py @superlopuh (#522)
- dialects: Add HostRegisterOp to GPU @PapyChacal (#513)
- misc: minor changes to parser @superlopuh (#520)
- tests: Make scf.for test roundtrip @PapyChacal (#473)
- misc: fix tuple annotation, n-tuple as opposed to 1-tuple @superlopuh (#516)
- dialects: Allow UnrankedMemrefType on relevant existing memref ops. @PapyChacal (#512)
- misc: add method to parse dictionary attr MLIR style to BaseParser @superlopuh (#510)
- parser: Fix parsing of multiple regions @AntonLydike (#507)
- dialects: Enable validate on func.FuncOp for external functions @mesham (#498)
- misc: call parse_module when parsing module @superlopuh (#494)
- misc: don't print newline after op in print_op @superlopuh (#492)
- core: Add SSAValue.definition property. @PapyChacal (#470)
- xdsl: small linting pass @superlopuh (#444)
- CI: Remove coverage from the pyodide/JupyterLite deployment. @PapyChacal (#438)
- misc: use yield get not init @superlopuh (#728)
- misc: lint irdl.ipynb @superlopuh (#732)
- misc: deprecate Block.from_ops @superlopuh (#730)
- bench: Defer error message formatting to when they are printed @AntonLydike (#406)