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.