diff options
author | Adam Chlipala <adamc@hcoop.net> | 2008-11-27 12:04:54 -0500 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2008-11-27 12:04:54 -0500 |
commit | 17260c1fcb1778217df23b5e1c1271642d8aab80 (patch) | |
tree | 010d36da2d9c89475ba20dad3c402d6094b30aba /src | |
parent | 93d666ff22896de47c8e6b93a338004ddecdcfdb (diff) |
Untangle and shake within Especialize loop
Diffstat (limited to 'src')
-rw-r--r-- | src/especialize.sml | 15 | ||||
-rw-r--r-- | src/sources | 6 |
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 |