This option specifies the optimization level or the details of each optimization items.
Only optimization that debugging is not affected is performed (It is the same result as when -Odefault option is specified).
The items that can be specified as level are shown below. |
The items that can be specified as item and value are shown below. |
If this option is specified more than once for the same item, the option specified last will be valid. |
If -Olevel is specified following -Oitem, -Oitem which was specified first will be invalid. Note, however, that -Omap or -Osmap will not be affected by -Olevel. |
When -Oitem is not specified, the optimization items are interpreted as follows according to the -Olevel setting. |
This table does not ensure that the optimization result is the same between the case where an optimization level is selected and then each optimization item setting is changed to the value shown for another level in this table and the case where the latter level is specified from the beginning. For example, the code output by specifying "-Ospeed" may not be the same as that output by specifying "-Osize -Ounroll=4 -Oinline=2 -Oinline_size=100 -Opipeline=on".