Another CPS shrink

Stephen Weeks MLton@sourcelight.com
Fri, 13 Jul 2001 16:27:18 -0700


> This one I'm less sure about.  In 14.sml from the regression directory,
> why can't we eliminate the constant equality test?  The CPS has
> 
>    val global_13 = A_0 ()
>    val global_14 = B_0 ()
> 
>    fun L_42 () =
>       let
>          val x_7 = Env_0 ()
>          val x_6 = Ref_assign (x_1, x_7)
>          val x_5 = MLton_eq (global_13, global_14)
>       in
>          case x_5 of
>            false => L_32 | true => L_31
>       end

There was no good reason why that wasn't done in CPS as well.  It now is.
Affected files are:

src/mlton/cps/shrink.fun
src/mlton/atoms/prim.sig
src/mlton/atoms/prim.fun
src/mlton/atoms/atoms.sig
src/mlton/cps/cps-tree.sig
src/mlton/cps/cps-tree.fun

That reminds me -- we (Matthew and I) really need to switch over to CVS.