fitzgen opened issue #6105:
We only want to subsume when
simplify
reduces to a constant. We can automatically do this in the code that calls into ISLE by checking if the result is a constnant. Then we can remove thesubsume
term from ISLE, since it is a bit subtle / footgun-y.
fitzgen labeled issue #6105:
We only want to subsume when
simplify
reduces to a constant. We can automatically do this in the code that calls into ISLE by checking if the result is a constnant. Then we can remove thesubsume
term from ISLE, since it is a bit subtle / footgun-y.
github-actions[bot] commented on issue #6105:
Subscribe to Label Action
cc @cfallin, @fitzgen
<details>
This issue or pull request has been labeled: "isle"Thus the following users have been cc'd because of the following labels:
- cfallin: isle
- fitzgen: isle
To subscribe or unsubscribe from this label, edit the <code>.github/subscribe-to-label.json</code> configuration file.
Learn more.
</details>
KGrewal1 commented on issue #6105:
Was reading through isle and came across this issue whilst seeing what the subsume keyword was for: is this still planned?
fitzgen commented on issue #6105:
I think not, since it is still a useful tool to avoid combinatorial growth in the e-graph.
For example, if we are given a very long chain of adds and our rule to rewrite
(a + (b + (c + d))) => ((a + b) + (c + d))
kicks in and would otherwise start rewriting its own rewrites to effectively explore almost all of the space of different associativity trees for the long chain of adds.
fitzgen closed issue #6105:
We only want to subsume when
simplify
reduces to a constant. We can automatically do this in the code that calls into ISLE by checking if the result is a constnant. Then we can remove thesubsume
term from ISLE, since it is a bit subtle / footgun-y.
Last updated: Dec 23 2024 at 12:05 UTC