= SSA2Simplify

The optimization passes for the <<SSA2#>> <<IntermediateLanguage#>> are
collected and controlled by the `Simplify2` functor
(https://github.com/MLton/mlton/blob/master/mlton/ssa/simplify2.sig[`simplify2.sig`],
https://github.com/MLton/mlton/blob/master/mlton/ssa/simplify2.fun[`simplify2.fun`]).

The following optimization passes are implemented:

* <<DeepFlatten#>>
* <<RefFlatten#>>
* <<RemoveUnused#>>
* <<Zone#>>

There are additional analysis and rewrite passes that augment many of the other optimization passes:

* <<Restore#>>
* <<Shrink#>>

The optimization passes can be controlled from the command-line by the options

* `-diag-pass <pass>` -- keep diagnostic info for pass
* `-disable-pass <pass>` -- skip optimization pass (if normally performed)
* `-enable-pass <pass>` -- perform optimization pass (if normally skipped)
* `-keep-pass <pass>` -- keep the results of pass
* `-loop-passes <n>` -- loop optimization passes
* `-ssa2-passes <passes>` -- ssa optimization passes
