summaryrefslogtreecommitdiff
path: root/src/compiler.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-11-25 10:05:44 -0500
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-11-25 10:05:44 -0500
commit940865b04fa534983982b261386a3b1926bd5531 (patch)
treefc3097de1fda1a8cf47dbbeaddc9dc1df9ba6035 /src/compiler.sml
parent261ebaa5168b307ad38825c95d60c5bea5d9858f (diff)
Fusing writes with recursive function calls
Diffstat (limited to 'src/compiler.sml')
-rw-r--r--src/compiler.sml13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/compiler.sml b/src/compiler.sml
index 6a6c4391..aac4a924 100644
--- a/src/compiler.sml
+++ b/src/compiler.sml
@@ -523,12 +523,23 @@ val toMono_shake = transform mono_shake "mono_shake1" o toMono_reduce
val toMono_opt2 = transform mono_opt "mono_opt2" o toMono_shake
+val fuse = {
+ func = Fuse.fuse,
+ print = MonoPrint.p_file MonoEnv.empty
+}
+
+val toFuse = transform fuse "fuse" o toMono_opt2
+
+val toUntangle2 = transform untangle "untangle2" o toFuse
+
+val toMono_shake2 = transform mono_shake "mono_shake2" o toUntangle2
+
val pathcheck = {
func = (fn file => (PathCheck.check file; file)),
print = MonoPrint.p_file MonoEnv.empty
}
-val toPathcheck = transform pathcheck "pathcheck" o toMono_opt2
+val toPathcheck = transform pathcheck "pathcheck" o toMono_shake2
val cjrize = {
func = Cjrize.cjrize,