common block elimination
Matthew Fluet
mfluet@intertrust.com
Mon, 6 Aug 2001 17:59:36 -0700 (PDT)
> > I didn't bother running the benchmarks -- this should have no effect on
> > performance. But, it did save about .3MB off the size of a self-compile
> > executable.
>
> Nice win for such a simple opt.
The next pattern I'd like to get is the following:
fun L_X () [L_H, ...]
= L_H (global_y)
which arises when you do handle the Overflow exception, but only by
wrapping a large arithmetic expression. This requires an analysis and an
rewrite pass, because the common block can't just be floated all the way
up to the top of the CPS function.