egraphs-good / eggcc

MIT License
51 stars 11 forks source link

[Tree Unique] Loop hoisting #290

Closed clyben closed 9 months ago

clyben commented 9 months ago

This PR implemented Loop Invariant boundary detection and loop invariant hoisting for Tree Unique Args. An loop invariant is considered boundary iff it's invariant but one or more of it's parent is not invariant. An invariant can be moved out the loop iff it's boundary invariant and it's Expr-size > 1, which mean it's not simple (Get (Arg id) n). IMG_D5082F2D3EDA-1

oflatt commented 9 months ago

This is really great work, but we should focus on the new schema. Shall we close this for now?

clyben commented 9 months ago

closing for now