summaryrefslogtreecommitdiff
path: root/src/especialize.sml
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 /src/especialize.sml
parent105fe036ed01c33859cafecbc962cc2df09e3acb (diff)
Untangle and shake within Especialize loop
Diffstat (limited to 'src/especialize.sml')
-rw-r--r--src/especialize.sml15
1 files changed, 11 insertions, 4 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