Everything

 

-speed


コンパイル・オプション / 最適化オプション

[指定形式]

-speed

 

-

省略時解釈

サイズ重視の最適化を実施します。

[詳細説明]

-

speedオプションを指定した場合、実行性能重視の最適化を実施します。

[備考]

-

speedオプションを指定した場合、optimizeオプションの指定により、以下オプションが指定されているとみなします。

-

optimizeオプションの最適化レベルは、コンパイルオプション以外にも細かい最適化の調整を含みます。異なる最適化レベル同士で、下記の表のコンパイルオプションを合わせても出力コードは一致しません。

 

<optimize=max指定時>

 

ループ展開

インライン
展開

定数除算の乗算化

命令並び換え

const修飾変数の定数伝播

最適化範囲
分割

外部変数アクセス最適化

ポインタ指示先の型を考慮した最適化

分岐命令の
サイズを削減する最適化

speed

loop=8

inline=
250

const_div

schedule

const_
copy

noscope

map

nomap

alias=ansi

nobranch_chaining

入力がC/C++ソースで、かつ出力の指定がoutput=absかmotの場合はmapがデフォルトに、それ以外ではnomapがデフォルトとなります。

 

<optimize=2指定時>

 

ループ展開

インライン
展開

定数除算の乗算化

命令並び換え

const修飾変数の定数伝播

最適化範囲
分割

外部変数アクセス最適化

ポインタ指示先の型を考慮した最適化

分岐命令の
サイズを削減する最適化

speed

loop=2

inline=
100

const_div

schedule

const_
copy

scope

nomap

alias=noansi

nobranch_chaining

 

<optimize=0またはoptimize=1指定時>

 

ループ展開

インライン
展開

定数除算の乗算化

命令並び換え

const修飾変数の定数伝播

最適化範囲
分割

外部変数アクセス最適化

ポインタ指示先の型を考慮した最適化

分岐命令の
サイズを削減する最適化

speed

loop=1

noinline

const_div

noschedule

noconst_copy

scope

nomap

alias=noansi

nobranch_chaining