v0.22.0
github-actions
released this
02 Sep 15:12
·
273 commits
to refs/heads/main
since this release
xDSL framework
- core: Assembly format shouldn't require
$*SegmentSizes
@alexarice (#3123) - core: Add successors to assembly format @alexarice (#3124)
- core: (irdl) Add support for regions in optional groups to declarative assembly format @kimxworrall (#3106)
- core: Implement speculability trait and helper. @PapyChacal (#3102)
- frontend: (stablehlo) add ir generation from jaxpr @shreya-um (#3038)
- core: Implement IRDL SameSize options @PapyChacal (#3067)
- rewriting: Make
modify_block_argument_type
modify_value_type
@PapyChacal (#3045) - transformations: Implement
shape-inference
pass @PapyChacal (#3047) - core: Improved treatment of whitespace in assembly format @alexarice (#3044)
- core: CanonicaliZation naming consistency @PapyChacal (#3040)
- core: helpers for IRDL construct type access. @PapyChacal (#3025)
- core: Implement simple helpers for construct type access. @PapyChacal (#3024)
- core: implement EffectInstance @PapyChacal (#2987)
- (core) Support UnitAttr in assembly format @n-io (#2995)
- core: (irdl) Add regions to declarative assembly format @kimxworrall (#3065)
- core: Add
BitEnumAttribute
@zero9178 (#2617) - core: (affine) override python floordiv symbol @jorendumoulin (#2942)
Dialects
- dialects: (csl) added
csl.addressof_fn
@dk949 (#3135) - dialects: Add NoMemoryEffect trait in various LLVM and builtin ops @JosseVanDelm (#3127)
- dialects: (riscv) canonize x ^ x = 0 @mamanain (#3121)
- dialects: (stim) initialise dialect @kimxworrall (#3042)
- dialects: (stablehlo) add stablehlo.dot @superlopuh (#3090)
- dialects: (stablehlo) add stablehlo.after_all @efferifick (#3104)
- dialects: (stablehlo) add stablehlo.case @efferifick (#3095)
- dialects: (stablehlo) add stablehlo.bitcast_convert @efferifick (#3100)
- dialects: (transform) Fix amount of returned loops in TileOp @JonasCrols (#3080)
- dialects: (stablehlo) add stablehlo.token @efferifick (#3093)
- dialects: (stablehlo) add stablehlo.precision @superlopuh (#3089)
- dialects: (stablehlo) Add support for returnOp @efferifick (#3085)
- dialects: (transform) Add structured match operation @JonasCrols (#3079)
- dialects: (stablehlo) Add support for andOp @efferifick (#3081)
- dialects: stencil: Allow loading and storing from a same field. @PapyChacal (#3071)
- dialects: Update dialects with SameSize IRDL options. @PapyChacal (#3070)
- dialects: Update
tensor
side-effect traits @n-io (#3069) - transformations: Enable dmp.swap stencil bufferization. @PapyChacal (#3066)
- dialects: Update dmp.swap @PapyChacal (#3056)
- transformations: Decouple
distribute-stencil
fromshape-inference
@PapyChacal (#3054) - dialects: dmp: make strategies attributes and carry them in IR @PapyChacal (#3050)
- dialects: (Transform) Add new selecting operations @JonasCrols (#3015)
- dialect: (irdl) Add region and attributes operations @alexarice (#3049)
- dialects: (stablehlo) add transpose @superlopuh (#3031)
- dialects: (irdl) Update for mlir compatibility @alexarice (#3002)
- dialects: (stablehlo) add elementwise add, sub, mul @superlopuh (#3030)
- dialects: (stablehlo) Add initial contribution for stablehlo dialect @efferifick (#3020)
- dialects: (csl_stencil) Enable bufferized
csl_stencil.apply
@n-io (#2994) - dialects: (riscv_snitch) add vfmax.s @superlopuh (#2988)
- dialects: Add stencil features meant for bufferization @PapyChacal (#2985)
- dialects: Enable bufferized stencil.apply @PapyChacal (#2982)
- dialects: (tensor) Incorrect default 'dynamic index' on insert_slice op @n-io (#2974)
- dialects: (arith, core) Constant op to accept tensor and memref @n-io (#2969)
- (bug): linalg named ops to include hidden regions in generic print @n-io (#2957)
- (dialects): improving stencil attr syntax mlir compatibility @n-io (#2947)
- dialects: (scf) Add parse/print to
scf.if
@alexarice (#3126) - dialects: (vector) add pure trait to vector.broadcast and vector.fma @knickish (#3094)
- dialects: (bufferization) Add
to_memref
op @n-io (#2996) - dialects: (linalg) Add Quantized Matmul @JonasCrols (#2999)
- dialects: (stencil) Relax
stencil.return
for tensors @n-io (#2989) - dialects: (transform) Add some transform dialect operations @JonasCrols (#2973)
- dialects: (tensor) add tensor.dim and tensor.cast op @jorendumoulin (#2968)
- dialects: (linalg) add correct generic printing for fill, and matmul @jorendumoulin (#2971)
- transforms: (memref_stream) add missing doc and library call in generic constructors @jorendumoulin (#2941)
Transformations
- transformations: (stencil-tensorize-z-dim) Support loops @n-io (#3118)
- transforms: Fix constant pinning breaking for external functions @AntonLydike (#3131)
- bug: (csl-stencil-to-csl-wrapper) Reverse generated operands @n-io (#3112)
- transformations: (csl-stencil-to-csl-wrapper) Generate symbol export and no memref.globals @n-io (#3101)
- transformations: Translate memref to dsd @n-io (#3092)
- transformations: Support safe inplace stencil bufferization. @PapyChacal (#3077)
- transformations: Implement
control-flow-hoist
@PapyChacal (#3103) - transformations: (csl-stencil-to-csl-wrapper) Support reading properties from bufferized
csl-stencil
@n-io (#3083) - transformations: (csl-stencil-bufferize) Fold
csl_stencil.access
that have no effect @n-io (#3084) - transformations:
stencil-bufferize
side-effect analysis fix @PapyChacal (#3076) - dialects: stencil: Allow loading and storing from a same field. @PapyChacal (#3071)
- transformations: Enable bufferized
dmp.swap
lowering. @PapyChacal (#3073) - transformations: Forgotten xdsl/transforms/shape_inference_patterns/init.py @PapyChacal (#3072)
- transformations: (stencil-to-csl-stencil) Support also bufferized
dmp.swap
@n-io (#3068) - transformations: Enable dmp.swap stencil bufferization. @PapyChacal (#3066)
- transformations: Tensorize new result of
dmp.swap
@n-io (#3063) - dialects: Update dmp.swap @PapyChacal (#3056)
- transformations: Decouple
distribute-stencil
fromshape-inference
@PapyChacal (#3054) - dialects: dmp: make strategies attributes and carry them in IR @PapyChacal (#3050)
- transformations: (csl-stencil-to-csl-wrapper) Translate func args to exportable memref.global @n-io (#3051)
- transformations: update stencil lowering to properly accomodate bufferized stencils. @PapyChacal (#3016)
- transformations: Implement
shape-inference
pass @PapyChacal (#3047) - transformations: stencil shape inference polish @PapyChacal (#3046)
- transformations: stencil bufferization polish @PapyChacal (#3001)
- transformations: Add linalg-to-csl pass @n-io (#3028)
- transformations: (csl-stencil-bufferize) Inject iter_arg into linalg compute @n-io (#3033)
- transformations: (csl_stencil) Add bufferization pass @n-io (#3004)
- transformations: First implementation of stencil-bufferize @PapyChacal (#2983)
- transformations: Enable bufferized stencil lowering. @PapyChacal (#2984)
- transformations: (stencil-tensorize-z-dim) Scaling z-shifts to avoid negative offsets @n-io (#2975)
- transform: (stencil-tensorize-z-dimension) Tensorize arith.constant directly @n-io (#2970)
- transformations: lift arith to linalg named ops @n-io (#2963)
- (transforms): dont have tensor inside memref @n-io (#2962)
- (transform): csl_wrapper program module init @n-io (#2891)
- (transform): csl_stencil canonicalization pass @n-io (#2814)
- transformations: (memref_stream) add memref_stream.generic legalization pass @nazavode (#2929)
Backend
- fix: Param names were not correctly referenced in the printer @dk949 (#3108)
- backend: (riscv) print list of registers to regalloc stats @superlopuh (#3111)
- backend: (JAX) add some syntax sugar for typed compiled functions @superlopuh (#3058)
- backend: (JAX) add export to JAX executable @superlopuh (#3057)
- backend: (riscv) fix register allocation stats @superlopuh (#2961)
- backend: (riscv) add option to insert regalloc stats @superlopuh (#2958)
- backend: (snitch) add an optimization-level option to linalg-snitch pass @superlopuh (#2956)
- backend: (snitch) unify all the test passes as a single end-to-end pass @superlopuh (#2955)
- dialects: (riscv_snitch) lower arith.addf on vector<4xf16> to vfadd.h @nazavode (#2934)
Interpreter
- interpreter: fix int64 format in ptr dtypes @superlopuh (#3035)
API
- api: deprecate
print_string_raw
in favor of indent=0 @superlopuh (#2951) - api: remove parameters field from Trait @superlopuh (#2940)
🗎 Documentation
- docs: (marimo) use carousel in linalg snitch notebook @superlopuh (#2933)
🐛 Bug Fixes
- core: Assembly format shouldn't require
$*SegmentSizes
@alexarice (#3123) - tests: Increase timeout on lit tests @alexarice (#3125)
- bug: remove duplicate isattr definition @superlopuh (#3088)
- transformations:
stencil-bufferize
side-effect analysis fix @PapyChacal (#3076) - dependencies: fix numpy version for subprojects that depend on it @superlopuh (#3062)
- interpreter: fix int64 format in ptr dtypes @superlopuh (#3035)
- bug: (snitch_stream) fix stride pattern repeat param parsing @superlopuh (#2986)
- transformations: (stencil-tensorize-z-dim) Scaling z-shifts to avoid negative offsets @n-io (#2975)
- dialects: (arith, core) Constant op to accept tensor and memref @n-io (#2969)
- backend: (riscv) fix register allocation stats @superlopuh (#2961)
- (bug): linalg named ops to include hidden regions in generic print @n-io (#2957)
- (bug): fix csl_stencil canonicalise @n-io (#2949)
Testing
- tests: Increase timeout on lit tests @alexarice (#3125)
- dialect: (irdl) Add region and attributes operations @alexarice (#3049)
- core: Improved treatment of whitespace in assembly format @alexarice (#3044)
- dialects: (irdl) Update for mlir compatibility @alexarice (#3002)
- misc: Add
Dialect.split_name
method @alexarice (#3003) - testing: add relu f32 to bottom-up tests @superlopuh (#2990)
- testing: (linalg-snitch) change order of incrementally added passes @superlopuh (#2966)
Continuous Integration
- CI: update ruff precommit @superlopuh (#3119)
- ci: Enable pip caching @n-io (#3098)
- CI: Python 3.12 @PapyChacal (#3074)
- dependencies: fix numpy version for subprojects that depend on it @superlopuh (#3062)
- CI: add end of file and end of line pre-commit hooks @superlopuh (#3053)
- CI: update pre-commit-hooks @superlopuh (#3052)
- CI: use ruff to format xdsl @superlopuh (#3023)
- CI: move ruff line setting to only linting @superlopuh (#3022)
- CI: remove isort from dev dependencies @superlopuh (#3011)
- CI: lint jupyter notebooks using ruff @superlopuh (#3010)
- CI: use .lint when required by ruff @superlopuh (#3007)
- CI: include onnx interpreter for pyright @superlopuh (#3012)
- CI: update ruff precommit @superlopuh (#3006)
- CI: add clean-caches make rule and remove *.cover files @superlopuh (#3008)
- CI: don't run coverage by default in cmath conversion test @superlopuh (#3009)
Installation
- pip prod(deps): bump textual from 0.78.0 to 0.79.1 @dependabot (#3130)
- pip prod(deps): bump textual-dev from 1.5.1 to 1.6.1 @dependabot (#3129)
- pip prod(deps): bump marimo from 0.8.5 to 0.8.7 @dependabot (#3128)
- pip prod(deps): bump ruff from 0.6.2 to 0.6.3 @dependabot (#3116)
- pip prod(deps): bump marimo from 0.8.4 to 0.8.5 @dependabot (#3117)
- pip prod(deps): bump marimo from 0.8.3 to 0.8.4 @dependabot (#3109)
- pip prod(deps): bump textual from 0.77.0 to 0.78.0 @dependabot (#3105)
- pip prod(deps): bump ruff from 0.6.1 to 0.6.2 @dependabot (#3097)
- pip prod(deps): bump marimo from 0.8.0 to 0.8.3 @dependabot (#3096)
- pip prod(deps): bump pytest-asyncio from 0.23.8 to 0.24.0 @dependabot (#3086)
- pip prod(deps): bump marimo from 0.7.20 to 0.8.0 @dependabot (#3061)
- pip prod(deps): bump ruff from 0.6.0 to 0.6.1 @dependabot (#3060)
- pip prod(deps): bump textual from 0.76.0 to 0.77.0 @dependabot (#3087)
- dependencies: fix numpy version for subprojects that depend on it @superlopuh (#3062)
- installation: Update nix flake @alexarice (#3059)
- dependencies: update ruff-pre-commit to v0.6.0 @superlopuh (#3039)
- pip prod(deps): bump ruff from 0.5.7 to 0.6.0 @dependabot (#3043)
- dependencies: add JAX as an optional dependency of xDSL @superlopuh (#3037)
- pip prod(deps): bump marimo from 0.7.19 to 0.7.20 @dependabot (#3021)
- pip prod(deps): bump textual from 0.75.1 to 0.76.0 @dependabot (#3013)
- pip prod(deps): bump marimo from 0.7.18 to 0.7.19 @dependabot (#2998)
- pip prod(deps): bump ruff from 0.5.6 to 0.5.7 @dependabot (#2997)
- pip prod(deps): bump marimo from 0.7.17 to 0.7.18 @dependabot (#2992)
- pip prod(deps): bump black[jupyter] from 24.4.2 to 24.8.0 @dependabot (#2980)
- pip prod(deps): bump textual from 0.75.0 to 0.75.1 @dependabot (#2981)
- pip prod(deps): bump ruff from 0.5.5 to 0.5.6 @dependabot (#2979)
- pip prod(deps): bump marimo from 0.7.14 to 0.7.17 @dependabot (#2978)
- pip prod(deps): bump textual from 0.74.0 to 0.75.0 @dependabot (#2977)
- pip prod(deps): bump onnx from 1.16.1 to 1.16.2 @dependabot (#2976)
- pip prod(deps): bump marimo from 0.7.12 to 0.7.14 @dependabot (#2965)
- pip prod(deps): bump pre-commit from 3.7.1 to 3.8.0 @dependabot (#2954)
- pip prod(deps): bump textual from 0.73.0 to 0.74.0 @dependabot (#2943)
- pip prod(deps): bump marimo from 0.7.11 to 0.7.12 @dependabot (#2944)
- pip prod(deps): bump ruff from 0.5.4 to 0.5.5 @dependabot (#2945)
- pip prod(deps): bump marimo from 0.7.9 to 0.7.11 @dependabot (#2935)
Miscellaneous
- misc: remove type annotations from operand definitions [NFC] @superlopuh (#3120)
- core: Assembly format shouldn't require
$*SegmentSizes
@alexarice (#3123) - core: (irdl) Add support for regions in optional groups to declarative assembly format @kimxworrall (#3106)
- bug: (csl-stencil-to-csl-wrapper) Reverse generated operands @n-io (#3112)
- transformations: (csl-stencil-to-csl-wrapper) Support reading properties from bufferized
csl-stencil
@n-io (#3083) - core: Implement speculability trait and helper. @PapyChacal (#3102)
- transformations: (csl-stencil-bufferize) Fold
csl_stencil.access
that have no effect @n-io (#3084) - transformations:
stencil-bufferize
side-effect analysis fix @PapyChacal (#3076) - dialects: Update dialects with SameSize IRDL options. @PapyChacal (#3070)
- transformations: Forgotten xdsl/transforms/shape_inference_patterns/init.py @PapyChacal (#3072)
- dialects: Update
tensor
side-effect traits @n-io (#3069) - transformations: (stencil-to-csl-stencil) Support also bufferized
dmp.swap
@n-io (#3068) - transformations: Tensorize new result of
dmp.swap
@n-io (#3063) - installation: Update nix flake @alexarice (#3059)
- rewriting: Make
modify_block_argument_type
modify_value_type
@PapyChacal (#3045) - misc: Fix typo achorable -> anchorable @alexarice (#3048)
- core: CanonicaliZation naming consistency @PapyChacal (#3040)
- misc: remove mentions of black formatter @superlopuh (#3032)
- misc: make some pyright ignores more specific [NFC] @superlopuh (#3029)
- misc: Add
Dialect.split_name
method @alexarice (#3003) - misc: don't set pass spec arguments from instance when they are the default value @superlopuh (#3005)
- transformations: Enable bufferized stencil lowering. @PapyChacal (#2984)
- transformations: (stencil-tensorize-z-dim) Scaling z-shifts to avoid negative offsets @n-io (#2975)
- transform: (stencil-tensorize-z-dimension) Tensorize arith.constant directly @n-io (#2970)
- dialects: (tensor) Incorrect default 'dynamic index' on insert_slice op @n-io (#2974)
- misc: don't import riscv and x86 in xdsl-opt @superlopuh (#2967)
- misc: use specific print method in printer.py @superlopuh (#2964)
- (transforms): dont have tensor inside memref @n-io (#2962)
- misc: move IRDLDialectLoader to own file and remove circular dependency @superlopuh (#2946)
- misc: use more isattr checks @superlopuh (#2952)
- misc: make version lazy @superlopuh (#2950)
- misc: remove some pylance errors throughout the project [NFC] @superlopuh (#2953)
- (transform): csl_stencil canonicalization pass @n-io (#2814)
- misc: move print_csl import away from top level @superlopuh (#2948)
- misc: use constraints in more operation definitions @superlopuh (#2939)