New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add the aegraph (acyclic e-graph) implementation crate. #4909
Conversation
Subscribe to Label Action
This issue or pull request has been labeled: "cranelift", "isle"
Thus the following users have been cc'd because of the following labels:
To subscribe or unsubscribe from this label, edit the |
fd03329
to
51ab5ac
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, a bunch of comments, some of which are me just trying to figure stuff out and aren't necessarily actionable requests for code changes.
51ab5ac
to
c447435
Compare
baa6b8c
to
02e86f2
Compare
Rebased now that #4908 has landed. |
This PR introduces the implementation of the aegraph data structure itself, as a new crate (
cranelift-egraph
).This does not include any of the Cranelift-specific use of the aegraph (language/node definitions, egraph building, and lowering out of the egraph), nor any of the rule-rewriting on the egraph. That will come in subsequent PRs.
Stacks on top of #4908.