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
commit17260c1fcb1778217df23b5e1c1271642d8aab80 (patch)
tree010d36da2d9c89475ba20dad3c402d6094b30aba /src/especialize.sml
parent93d666ff22896de47c8e6b93a338004ddecdcfdb (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