summaryrefslogtreecommitdiff
path: root/src
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
parent93d666ff22896de47c8e6b93a338004ddecdcfdb (diff)
Untangle and shake within Especialize loop
Diffstat (limited to 'src')
-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