common block elimination
Matthew Fluet
mfluet@intertrust.com
Tue, 7 Aug 2001 09:06:56 -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.
Another pattern that would be nice to eliminate is the following:
fun L_X () []
= return (global_y)
CPS functions that return booleans have this pattern -- particularly deep
equality functions where there are lots of branches to check.
This would actually be very easy to add into the current version (although
it means that I can't do the extract exn globals trick).