高レベル最適化(HLO)とは、C++ といった高水準プログラミング言語で開発されたアプリケーションに含まれているループや配列など、ソースコード上の特性を利用した最適化手法です。これには、ループ交換、ループ融合、ループ展開、ループ分配、アンロール・ジャム、ブロッキング、データ・プリフェッチ、スカラ置換、データ・レイアウトの最適化といった手法があります。高レベルな最適化をオンにするオプションは-O3です。
IA-32 および Itanium® ベース・アプリケーション | |
---|---|
-O3 | -O2オプションに加えて、さらに強力な最適化(例えば、ループ変換やプリフェッチ)を有効にします。-O3は、最大速度について最適化を行いますが、パフォーマンスが向上しないプログラムもあります。 |
IA-32 アプリケーション | |
-O3 | ベクトル化オプション-ax{M|K|W}、-x{M|K|W}に組み合わせて-O3を指定すると、-O2の場合より詳細にデータ依存性の解析が実行されます。そのためコンパイル時間が長くなる場合があります。 |