# HG changeset patch # User Adam Chlipala # Date 1227805494 18000 # Node ID 3f20c22098aff71338e11b8adddc47135c6b5bb3 # Parent 23a88d81a1b5c7c463e7cccbe8034fcc64c0170c Untangle and shake within Especialize loop diff -r 23a88d81a1b5 -r 3f20c22098af src/especialize.sml --- a/src/especialize.sml Thu Nov 27 11:40:13 2008 -0500 +++ b/src/especialize.sml Thu Nov 27 12:04:54 2008 -0500 @@ -349,15 +349,22 @@ fun specialize file = let (*val () = Print.prefaces "Intermediate" [("file", CorePrint.p_file CoreEnv.empty file)];*) - val file = ReduceLocal.reduce file + (*val file = ReduceLocal.reduce file*) val (changed, file) = specialize' file - val file = ReduceLocal.reduce file - (*val file = CoreUntangle.untangle file + (*val file = ReduceLocal.reduce file + val file = CoreUntangle.untangle file val file = Shake.shake file*) in (*print "Round over\n";*) if changed then - specialize file + let + val file = ReduceLocal.reduce file + val file = CoreUntangle.untangle file + val file = Shake.shake file + in + (*print "Again!\n";*) + specialize file + end else file end diff -r 23a88d81a1b5 -r 3f20c22098af src/sources --- a/src/sources Thu Nov 27 11:40:13 2008 -0500 +++ b/src/sources Thu Nov 27 12:04:54 2008 -0500 @@ -99,12 +99,12 @@ reduce_local.sig reduce_local.sml +core_untangle.sig +core_untangle.sml + especialize.sig especialize.sml -core_untangle.sig -core_untangle.sml - defunc.sig defunc.sml