These optimizations are transformations that are applied to our low-level intermediate code before emitting C code.
Disable optimization of common data structures.
Disable optimization of common subsequences in layout structures.
Disable the low-level optimization passes.
Disable local peephole optimizations.
Disable elimination of jumps to jumps.
Disable elimination of jumps to ordinary code.
Disable the optimization of tailcalls.
Convert nondet calls into tail calls whenever possible, even when this requires a runtime check. This option tries to minimize stack consumption, possibly at the expense of speed.
Disable the transformation to use local variables in C code blocks wherever possible.
Disable elimination of dead labels and code.
Enable elimination of duplicate code within procedures.
Enable elimination of duplicate procedures.
Disable stack frame optimizations.
Disable branch delay slot optimizations.
Optimize away assignments to locations that already hold the assigned value.
Iterate most optimizations at most n times (default: 3).
Attempt to compress the layout structures used by the debugger only as long as the arrays involved have at most n elements (default: 4000).