Releases: xdslproject/xdsl
Releases · xdslproject/xdsl
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)
v0.11.0
Changes
The 0.11.0 release fix the missing inclusion of some folders that were added in 0.10.0,
and move the IRDL operation definitions to IRDLOperation
.
xDSL framework
- misc: Add missing init files @math-fehr (#749)
- core: Refactor operation creation to be init based. @PapyChacal (#700)
- core: Define IRDLOperation, and simply move Operation.build there for now. @PapyChacal (#722)
- Add Region.block property for single-block Regions @tobiasgrosser (#743)
- core: Allow replace_operand to take SSAValue or index @AntonLydike (#724)
- core: Make Printer use the MLIR format by default @math-fehr (#734)
Tests
- tests: Move tests to their correct folders @math-fehr (#733)
Dialects
- dialects: Add helpers to FuncOp to make rewriting easier @AntonLydike (#725)
- dialects: Update support for returning multiple results using stencil.return @meshtag (#659)
API
- core: Refactor operation creation to be init based. @PapyChacal (#700)
- misc: add first/last_op to Block @superlopuh (#745)
- core: Define IRDLOperation, and simply move Operation.build there for now. @PapyChacal (#722)
- core: deprecate Region.from_op_list @superlopuh (#736)
- Add Region.block property for single-block Regions @tobiasgrosser (#743)
- core: Allow replace_operand to take SSAValue or index @AntonLydike (#724)
Continuous Integration
- CI: Add coverage back. @PapyChacal (#735)
Miscellaneous
- misc: lint tutorial.ipynb @superlopuh (#738)
- core: Allow replace_operand to take SSAValue or index @AntonLydike (#724)
- minor: Remove classmethod from op constructors @AntonLydike (#726)
v0.10.0
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 i...
v0.9.1
Changes
- misc: Remove FrozenList @superlopuh (#384)
xDSL framework
- core: Allow to parse types where attributes are expected @math-fehr (#415)
- xDSL: Add public print_block @georgebisbas (#414)
- core: Disallow fields in IRDL @math-fehr (#403)
- frontend: Add support for basic binary/comparison overloads and return @georgemitenkov (#376)
Dialects
- dialects: Add dense_resource attribute @math-fehr (#412)
- xDSL/Vector: Add support for maskedstore, print and createmask op @meshtag (#386)
API
- API: Add parser methods to parse SSA values @math-fehr (#391)
🗎 Documentation
- docs: Use JupyterLite 0.1.0b17 @PapyChacal (#385)
🐛 Bug Fixes
- core: Allow to parse types where attributes are expected @math-fehr (#415)
Testing
- tests: Update cf.branch test @georgebisbas (#405)
Continuous Integration
- installation: Add xdsl-opt location to known paths @meshtag (#409)
- CI: Upload the line by line coverage @webmiche (#417)
- CI: Remove CI dependencies from requirements @webmiche (#402)
- misc: pyright CI for diffs @superlopuh (#399)
Installation
Miscellaneous
- tests: Update cf.branch test @georgebisbas (#405)
- misc: make op_type_rewrite_pattern type check @superlopuh (#397)
v0.9
Changes
xDSL framework
- xdsl: Use type annotations in PyRDL @math-fehr (#338)
- New Parser @AntonLydike (#262)
- xdsl: parse dictionary as non-optional @superlopuh (#342)
- xdsl: parse custom memref format @superlopuh (#212)
- xDSL: add support for successors in structural equivalence check @martin-luecke (#333)
- frontend: Add basic code generation @georgemitenkov (#330)
- xDSL: Add structural equivalence comparison for IRNode @martin-luecke (#325)
- xDSL: Fix several pyright issues @webmiche (#317)
- frontend: Add constants @georgemitenkov (#337)
- frontend: checks for Python code structure @georgemitenkov (#336)
- frontend: Add initial skeleton @georgemitenkov (#322)
- builtin: Improve VectorType.from_type_and_list() constructor @meshtag (#321)
- misc: further streamline the header of our README @tobiasgrosser (#319)
- xdsl: DictionaryAttr for the builtin dialect @mesham (#258)
Dialects
- dialects: Improve MemRefType.from_type_list() constructor @meshtag (#344)
- xDSL/Vector: Add support for broadcast, fma and maskedload op @meshtag (#300)
- mlir printing and parsing fix @martin-luecke (#199)
- dialects: Improve MemRefType.from_type_list() constructor @meshtag (#344)
🗎 Documentation
- misc: add toy dialect @superlopuh (#380)
- doc: Link directly to interactive notebooks with less UI clutter. @PapyChacal (#302)
- Add a link to our interactive notebooks @tobiasgrosser (#297)
- Readme update summary @tobiasgrosser (#296)
- Polish README further @tobiasgrosser (#294)
- docs: Make the link to the MLIR interoperation actually work @webmiche (#293)
- Improve spelling in README @tobiasgrosser (#292)
- docs: Update README @webmiche (#291)
- docs: Minor overall tweaks @georgebisbas (#340)
- docs: Add example IR notebook @webmiche (#314)
- readme: udpate @georgebisbas (#316)
🐛 Bug Fixes
- xdsl: fix some type issues with DictionaryAttr printing and parsing @superlopuh (#339)
Testing
- tests: Add print checker in conftest @georgebisbas (#364)
- tests: Minor additions on testing frontend and attributes @georgebisbas (#345)
- tests: Remove SSAValue construction from tests @webmiche (#324)
- tests: Add test for xdsl_opt passes @webmiche (#320)
- tests: Add more func tests @webmiche (#313)
- tests: Add more coverage for dialects/arith @georgebisbas (#289)
- tests: Add further testing of xdsl_opt_main @webmiche (#301)
- tests: Add tests for affine @webmiche (#299)
- tests: Add testing for xdsl_opt_main @webmiche (#290)
- tests: Remove awkward test @webmiche (#318)
- tests: Add operation clone tests @webmiche (#309)
Continuous Integration
- ci: Drop stars from versioning and add pip to reqs @georgebisbas (#389)
- Add %pip install only in JupyterLite context. @PapyChacal (#298)
- CI: Refresh drafter @georgebisbas (#341)
- CI: Fix Codecov token issue @webmiche (#306)
- CI: Add Python 3.11 to the CI @math-fehr (#303)
- CI: Test JupyterLite build even if not deploying. @PapyChacal (#335)
- CI: Build a xDSL-embedding Pyodide distribution. @PapyChacal (#328)
- CI: Publish xDSL-enabled JupyterLite distribution on GitHub Pages. @PapyChacal (#295)
Installation
- install: add ipykernel as an optional requirement @superlopuh (#315)
- pip prod(deps): update filecheck requirement from <0.0.23 to <0.0.24 @dependabot (#307)
Miscellaneous
- docs: Fix several PyLance issues @georgebisbas (#382)
- misc: fix typo on mlir interoperation doc @miccio-dk (#375)
- misc: place all badges in README in one line @tobiasgrosser (#312)
- misc: expand toy parsing test to compare parsed AST @superlopuh (#377)
- misc: add flattened_values to LiteralExprAST @superlopuh (#378)
- misc: expand toy parsing test to compare parsed AST @superlopuh (#377)
- misc: replace triple single quotes by triple double quotes @superlopuh (#374)
- misc: add Toy chapter 1 python code, examples and notebook @superlopuh (#354)
v0.8.1
Changes
xDSL framework
- xdsl: Use type annotations in PyRDL @math-fehr (#338)
- New Parser @AntonLydike (#262)
- xdsl: parse dictionary as non-optional @superlopuh (#342)
- xdsl: parse custom memref format @superlopuh (#212)
- xDSL: add support for successors in structural equivalence check @martin-luecke (#333)
- frontend: Add basic code generation @georgemitenkov (#330)
- xDSL: Add structural equivalence comparison for IRNode @martin-luecke (#325)
- xDSL: Fix several pyright issues @webmiche (#317)
- frontend: Add constants @georgemitenkov (#337)
- frontend: checks for Python code structure @georgemitenkov (#336)
- frontend: Add initial skeleton @georgemitenkov (#322)
- builtin: Improve VectorType.from_type_and_list() constructor @meshtag (#321)
- misc: further streamline the header of our README @tobiasgrosser (#319)
- xdsl: DictionaryAttr for the builtin dialect @mesham (#258)
Dialects
- dialects: Improve MemRefType.from_type_list() constructor @meshtag (#344)
- xDSL/Vector: Add support for broadcast, fma and maskedload op @meshtag (#300)
- mlir printing and parsing fix @martin-luecke (#199)
- dialects: Improve MemRefType.from_type_list() constructor @meshtag (#344)
API
🗎 Documentation
- doc: Link directly to interactive notebooks with less UI clutter. @PapyChacal (#302)
- Add a link to our interactive notebooks @tobiasgrosser (#297)
- Readme update summary @tobiasgrosser (#296)
- Polish README further @tobiasgrosser (#294)
- docs: Make the link to the MLIR interoperation actually work @webmiche (#293)
- Improve spelling in README @tobiasgrosser (#292)
- docs: Update README @webmiche (#291)
- docs: Minor overall tweaks @georgebisbas (#340)
- docs: Add example IR notebook @webmiche (#314)
- readme: udpate @georgebisbas (#316)
🐛 Bug Fixes
- xdsl: fix some type issues with DictionaryAttr printing and parsing @superlopuh (#339)
Testing
- tests: Minor additions on testing frontend and attributes @georgebisbas (#345)
- tests: Remove SSAValue construction from tests @webmiche (#324)
- tests: Add test for xdsl_opt passes @webmiche (#320)
- tests: Add more func tests @webmiche (#313)
- tests: Add more coverage for dialects/arith @georgebisbas (#289)
- tests: Add further testing of xdsl_opt_main @webmiche (#301)
- tests: Add tests for affine @webmiche (#299)
- tests: Add testing for xdsl_opt_main @webmiche (#290)
- tests: Remove awkward test @webmiche (#318)
- tests: Add operation clone tests @webmiche (#309)
Continuous Integration
- Add %pip install only in JupyterLite context. @PapyChacal (#298)
- CI: Refresh drafter @georgebisbas (#341)
- CI: Fix Codecov token issue @webmiche (#306)
- CI: Add Python 3.11 to the CI @math-fehr (#303)
- CI: Test JupyterLite build even if not deploying. @PapyChacal (#335)
- CI: Build a xDSL-embedding Pyodide distribution. @PapyChacal (#328)
- CI: Publish xDSL-enabled JupyterLite distribution on GitHub Pages. @PapyChacal (#295)
Installation
- install: add ipykernel as an optional requirement @superlopuh (#315)
- pip prod(deps): update filecheck requirement from <0.0.23 to <0.0.24 @dependabot (#307)
Miscellaneous
- misc: fix typo on mlir interoperation doc @miccio-dk (#375)
- misc: place all badges in README in one line @tobiasgrosser (#312)
- misc: expand toy parsing test to compare parsed AST @superlopuh (#377)
- misc: add flattened_values to LiteralExprAST @superlopuh (#378)
- misc: expand toy parsing test to compare parsed AST @superlopuh (#377)
- misc: replace triple single quotes by triple double quotes @superlopuh (#374)
- misc: add Toy chapter 1 python code, examples and notebook @superlopuh (#354)