/[no]transform_loops

構文:

/transform_loops または /notransform_loops

/transform_loops (または /optimize:5) オプションは,ループ内の配列引用に適用されるループ変換の最適化グループを有効にします。これらの最適化はメモリー・システムの性能を向上させることができ,通常は複数のループの入れ子に適用されます。ループ変換の最適化の対象として選択されるループは,つねにカウンター付きループです (DO または IF ループは含まれますが,カウンターのない DO WHILE ループは含まれません)。

ビジュアル開発環境では,「Fortran」タブの「Optimizations」カテゴリの「Apply Loop Transformation Optimizations」を指定します。

一般にループ変換の最適化を妨げる状況としては,インライン展開されていない副プログラム引用 (外部関数呼び出しなど),複雑な終了条件,カウンターのないループなどがあります。

/transform_loops に関連する最適化の形式には次のものがあります。

ループ変換の最適化は,/optimize:5 によって有効にされる最適化のサブセットです。ia32 システムでは,/transform_loops を指定する代わりに /optimize:5 を指定することができます。ia64 システムでは,/pipeline/transform_loops の両方を指定する代わりに /optimize:5 を指定することができます。

ia64 システムでソフトウェア・パイプラインなしでループ変換の最適化を指定するには,次のどちらかを行います。

/transform_loops が特定のプログラムにとって有利であるかどうかを判断するには,ループ変換の最適化ありとなしでコンパイルした同じプログラム (または副プログラム) のプログラム実行のタイミングを比較してください。たとえば /transform_looops/notransform_loops でコンパイルしたプログラムを比較します。

詳細については,「ループ変換」を参照してください。