changeset 520:3f20c22098af

Untangle and shake within Especialize loop
author Adam Chlipala <adamc@hcoop.net>
date Thu, 27 Nov 2008 12:04:54 -0500
parents 23a88d81a1b5
children 31aba58a5b5b
files src/especialize.sml src/sources
diffstat 2 files changed, 14 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- 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
--- 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