Everything
 

-optimize


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

[指定形式]

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

 

-

省略時解釈
-optimize=2です。

[詳細説明]

-

最適化レベルを指定します。

-

optimize=0を指定した場合、最適化を実施しません。これにより、デバッグ情報を高い精度で出力でき、ソースレベルデバッグがしやすくなります。

-

optimize=1を指定した場合、自動変数のレジスタ割付、関数出口ブロックの統合、統合可能な複数命令の統合など、一部最適化を実施します。これにより、optimize=0指定時よりもコードサイズを削減できます。

-

optimize=2を指定した場合、全般的に最適化を実施します。ただし、実施する最適化の内容は、size/speedオプションの選択によって異なります。

-

optimize=maxを指定した場合、実施可能な最適化を最大限に行います。たとえば、最適化の適用範囲を最大限に拡大したり、speedオプション指定時には、大規模なループ展開を可能にします。最適化の効果が期待できる反面、コンパイル時間の増大や、speedオプション指定時のコードサイズの大幅な増加など、副作用を伴う場合があります。

[備考]

-

各種最適化オプションの説明で、デフォルトが記述されていないものは、optimizeオプションとspeed, sizeオプションの指定値によりデフォルトが変化することを意味します。

-

デフォルトについての詳細は、speed, sizeオプションを参照ください。