The optimization passes for the SSA2 IntermediateLanguage are collected and controlled by the Simplify2 functor (simplify2.sig, simplify2.fun).

The following optimization passes are implemented:

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

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