Everything

-optimize


< Compile Options / Optimize Options >

[Format]

-optimize = { 0 | 1 | 2 | max }

[Description]

-

This option specifies the optimization level.

-

When optimize=0 is specified, the compiler does not optimize the program. Accordingly, the debugging information may be output with high precision and source-level debugging is made easier.

-

When optimize=1 is specified, the compiler partially optimizes the program by automatically allocating variables to registers, integrating the function exit blocks, integrating multiple instructions which can be integrated, etc. Accordingly, the code size may become smaller than when compiled with the optimize=0 specification.

-

When optimize=2 is specified, the compiler performs overall optimization. However, the optimization contents to be performed slightly differ depending on whether the size option or speed option has been selected.

-

When optimize=max is specified, the compiler performs optimization as much as possible. For example, the optimization scope is expanded to its maximum extent, and if the speed option is specified, loop expansion is possible on a large scale. Though the advantages of optimization can be expected, there may be side effects, such as longer compilation time, and if the speed option is specified, significantly increased code size.

[Remarks]

-

If the default is not included in the description of an optimize option, this means that the default varies depending on the optimize option and speed or size option specifications. For details on the default, refer to the speed or size option.