egraphs-good / eggcc

MIT License
51 stars 11 forks source link

[Tree unique] WIP Loop unrolling #250

Closed oflatt closed 9 months ago

oflatt commented 10 months ago

This PR adds a work-in-progress loop unrolling rule.

The rule is inefficient because it uses multiple layers of deep copying. I think this could be made more efficient by only having a top-level deep copy- however, that would add invalid intermediate terms to the database. We should decide how to resolve this issue.

On the other hand, maybe this does not matter. Doing loop unrolling in this IR is quite inefficient anyways, since each unrolling doubles the size of the sub-egraph.

oflatt commented 9 months ago

Closing this because of deep copy issues. Trying again on new schema