Import Upstream version 20180207
[hcoop/debian/mlton.git] / doc / guide / src / SSA2Simplify.adoc
CommitLineData
7f918cf1
CE
1SSA2Simplify
2============
3
4The optimization passes for the <:SSA2:> <:IntermediateLanguage:> are
5collected and controlled by the `Simplify2` functor
6(<!ViewGitFile(mlton,master,mlton/ssa/simplify2.sig)>,
7<!ViewGitFile(mlton,master,mlton/ssa/simplify2.fun)>).
8
9The following optimization passes are implemented:
10
11* <:DeepFlatten:>
12* <:RefFlatten:>
13* <:RemoveUnused:>
14* <:Zone:>
15
16There are additional analysis and rewrite passes that augment many of the other optimization passes:
17
18* <:Restore:>
19* <:Shrink:>
20
21The optimization passes can be controlled from the command-line by the options
22
23* `-diag-pass <pass>` -- keep diagnostic info for pass
24* `-disable-pass <pass>` -- skip optimization pass (if normally performed)
25* `-enable-pass <pass>` -- perform optimization pass (if normally skipped)
26* `-keep-pass <pass>` -- keep the results of pass
27* `-loop-passes <n>` -- loop optimization passes
28* `-ssa2-passes <passes>` -- ssa optimization passes