shrinker and commonBlock

Stephen Weeks MLton@sourcelight.com
Wed, 14 Nov 2001 10:04:32 -0800


> The way the SSA shrinker works, it is completely nullifying the
> effect of commonBlock.

Yeah.  Now I don't remember why this doesn't happen in the CPS world.
As far as I can see, it should.

The idea in the shrinker is that it is usually worth it to eliminate a
goto to a raise/return, especially if arguments are passed in the
goto, since the goto setup code is usually as much as the raise/return
code which is duplicated.  

I guess since commonBlock always introduces nullary labels, we could
put a hack in the shrinker to avoid duplicating raises/returns when
their label is nullary.