-opt

Specify code optimization options to apply to object code.

Remarks
  -opt keyword [,...] 

The keyword arguments are:

off | none

Suppress all optimizations. This is the default.

 on 

Same as -opt level=2

  all | full

Same as -opt speed, level=4, intrinsics, noframe

  l[evel]=num  

Set a specific optimization level. The options for num are:

For num options 0 through 4 inclusive, the default is 0.

  [no]space

Optimize object code for size. Prefix file equivalent: #pragma optimize_for_size on.

  [no]speed 

Optimize object code for speed. Prefix file equivalent: #pragma optimize_for_size off.

  [no]cse | [no]commonsubs

Common subexpression elimination. You can also add #pragma opt_common_subs to a prefix file.

  [no]deadcode

Removal of dead code. Prefix file equivalent: #pragma opt_dead_code.

  [no]deadstore  

Removes dead assignments. Prefix file equivalent: #pragma opt_dead_assignments

  [no]lifetimes

Computes variable lifetimes. Prefix file equivalent: #pragma opt_lifetimes

  [no]loop[invariants]  

Removes loop invariants. Prefix file equivalent: #pragma opt_loop_invariants

  [no]prop[agation]

Propagation of constant and copy assignments. Prefix file equivalent: #pragma opt_propagation.

  [no]strength 

Strength reduction. Reducing multiplication by an array index variable to addition. Prefix file equivalent: #pragma opt_strength_reduction.

  [no]dead 

Same as -opt [no]deadcode and [no]deadstore. Prefix file equivalent: #pragma opt_dead_code on|off and #pragma opt_dead_assignments

  [no]peep[hole] 

Peephole optimization. Prefix file equivalent: #pragma peephole.

  [no]color[ing]  

Register coloring. Prefix file equivalent: #pragma register_coloring.

  [no]intrinsics 

Inlining of intrinsic functions.

  [no]schedule  

Perform instruction scheduling.

  display | dump 

Display complete list of active optimizations.