summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-11-27 12:04:54 -0500
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-11-27 12:04:54 -0500
commitc6926684556689e3a008b1296c4f3b5c9b08c8aa (patch)
tree010d36da2d9c89475ba20dad3c402d6094b30aba
parent105fe036ed01c33859cafecbc962cc2df09e3acb (diff)
Untangle and shake within Especialize loop
-rw-r--r--src/especialize.sml15
-rw-r--r--src/sources6
2 files changed, 14 insertions, 7 deletions
diff --git a/src/especialize.sml b/src/especialize.sml
index 220b48bd..c2a763ea 100644
--- a/src/especialize.sml
+++ b/src/especialize.sml
@@ -349,15 +349,22 @@ fun specialize' file =
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 --git a/src/sources b/src/sources
index 13f505d0..6972dc36 100644
--- a/src/sources
+++ b/src/sources
@@ -99,12 +99,12 @@ specialize.sml
reduce_local.sig
reduce_local.sml
-especialize.sig
-especialize.sml
-
core_untangle.sig
core_untangle.sml
+especialize.sig
+especialize.sml
+
defunc.sig
defunc.sml