Destructive rewriting might be critical to making eggcc work when we are using unique ids. See thread in slack
Say we want to destructively rewrite loop A into loop B, which contains lots of stuff from loop A. Several problems in my mind
We’d like to re-use subexpressions without deep copying. I think this is okay, as long as we only narrow the set of possible inputs / memory states.
We need to “cleanly” replace loop A with loop B. How do we do this? Some sequence of union and delete?
We might leave behind garbage that isn’t referenced by other stuff (garbage collection needed?)
Destructive rewriting might be critical to making eggcc work when we are using unique ids. See thread in slack
Say we want to destructively rewrite loop A into loop B, which contains lots of stuff from loop A. Several problems in my mind We’d like to re-use subexpressions without deep copying. I think this is okay, as long as we only narrow the set of possible inputs / memory states. We need to “cleanly” replace loop A with loop B. How do we do this? Some sequence of union and delete? We might leave behind garbage that isn’t referenced by other stuff (garbage collection needed?)