COBOL2002 使用の手引 手引編


32.5.8 プログラムの最適化の設定

プログラムの最適化を設定するコンパイラオプションについて,説明します。

〈この項の構成〉

(1) -Optimizeオプション

(a) 形式

-Optimize,{0|1|2|3}

(b) 機能

最適化のレベルを指定します。-Optimizeオプションの詳細については,「31 最適化機能」を参照してください。

-Optimize,0

最適化しません。

-Optimize,1

文の中で閉じた次の最適化をします。

  • 命令レベルでの最適化(ピープホールによる不要命令の削除など)

-Optimizeオプションを指定しなかった場合,このオプションが仮定されます。

-Optimize,2

広域的な次の最適化をします。

  • 命令レベルでの最適化(ピープホールによる不要命令の削除など)

  • 不変式のループ外への移動

  • コピー伝播

  • 定数の畳み込み

  • 共通式の削除

  • 演算の強さの軽減

  • そとPERFORM文のインライン展開

-Optimize,3

-Optimize,2オプションでの最適化に加えて,10進項目を2進項目に変換します。

(c) 注意事項

  • 最適化オプションを指定すると,データ項目の使用状況の解析や文の順番の入れ替えなどをするため,コンパイル時間が増加します。-Optimize,0指定時が最短で,-Optimize,3指定時が最長となります。

  • -Optimize,3オプションと-TDInfオプションを同時に指定すると,-Optimize,3オプションが無効になり,-Optimize,2オプションが仮定されます。

  • 最適化の内容については,「31 最適化機能」を参照してください。

  • -Optimize,3オプションを指定すると10進項目を2進項目化するため,アドレス操作機能を使用しているプログラムは正しく動作しないことがあります。

  • AIX(64),Linux(x64)の場合,-Optimize,3オプション,-MaxDigits38オプション,および-IntResult,DecFloat40オプションを同時に指定したときは,-Optimize,3オプションは無効となり,-Optimize,2オプションが仮定されます。