common-subexpression elimination (cse)
Henry Cejtin
henry@sourcelight.com
Tue, 24 Jul 2001 16:13:28 -0500
I'm impressed. What do you do in the CSE stuff to avoid getting confused
about things that are delayed in a lambda? I'm thinking of an expression
which raises an exception, and so you can't lift it out if the lambda
could be called in a context with a different handler. Perhaps none of this
is a problem with our first-order language.
The big win in this stuff has to be code-invariant hoisting, but again
the possibility of an exception makes this tricky, especially since the
loop may not run even once.