Skip to content

Exp eqsat#5642

Draft
szerdick wants to merge 47 commits intoxdslproject:jumerckx/interp_ematchfrom
szerdick:exp_eqsat
Draft

Exp eqsat#5642
szerdick wants to merge 47 commits intoxdslproject:jumerckx/interp_ematchfrom
szerdick:exp_eqsat

Conversation

@szerdick
Copy link
Collaborator

@szerdick szerdick commented Feb 9, 2026

Trying to embed polynomial expansion into equality saturation

superlopuh and others added 26 commits January 22, 2026 15:19
With the foreach approach, I believe part of this logic can be
simplified/omitted, but this is a good first step.
We need to be more careful with the bindings selected by matchers.
Right now, values are sometimes passed as their class result to a
rewriter:
```
x = …
y = …

c = class x, y

rewrite “myrewrite”(c)
```

This is problematic in MLIR as other rewrites can invalidate c. While we
are guaranteed to not erase any operation in the “program domain”, this
is not true for the operations of the “e-graph domain”.
The solution is to ensure in the pdl lowering that only values from the
program domain are passed to rewriters and the conversion to e-graph
domain happens at the latest possible point, in the rewriter itself.
(This is not an issue in xDSL because erasing an e-class does not
discard of the object)
non-eqsat lowering should stay the same
(not entirely done)

Co-authored-by: Sasha Lopoukhine <superlopuh@gmail.com>
@jumerckx jumerckx changed the base branch from main to jumerckx/interp_ematch February 10, 2026 08:32
@jumerckx jumerckx marked this pull request as draft February 10, 2026 08:34
@codecov
Copy link

codecov bot commented Feb 10, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (jumerckx/interp_ematch@42006ed). Learn more about missing BASE report.

Additional details and impacted files
@@                    Coverage Diff                    @@
##             jumerckx/interp_ematch    #5642   +/-   ##
=========================================================
  Coverage                          ?   85.73%           
=========================================================
  Files                             ?      405           
  Lines                             ?    57306           
  Branches                          ?     6657           
=========================================================
  Hits                              ?    49131           
  Misses                            ?     6611           
  Partials                          ?     1564           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@jumerckx jumerckx force-pushed the jumerckx/interp_ematch branch 2 times, most recently from e64571a to ba97362 Compare February 13, 2026 14:04
@jumerckx jumerckx force-pushed the jumerckx/interp_ematch branch 22 times, most recently from ab7c09d to 1077c5a Compare March 7, 2026 14:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants