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

  • -drop-pass <pass> — omit optimization pass

  • -keep-pass <pass> — keep the results of pass

  • -loop-passes <n> — loop optimization passes

  • -ssa2-passes <passes> — ssa optimization passes