高レベルの最適化は、Fortran および C++ などの高級プログラミング言語で開発されるアプリケーション内のソースコード構造 (例えば、ループと配列) の特性を利用します。高レベルの最適化には、ループ交換、ループ融合、ループのアンロール、ループ分配、アンロール・アンド・ジャム、ブロッキング、データ・プリフェッチ、スカラ置換、データ・レイアウトの最適化およびループのアンロール手法があります。
高レベルな最適化を有効にするために必要な一般オプションは、-O3 です。-O3 によりオンになる最適化の範囲は IA-32 および Itanium® ベースのアプリケーションで異なります。「最適化レベルの設定」を参照してください。
-O3 オプションは、 -O2 オプションを有効にし、またさらに強力な最適化 (例えば、ループ変換やプリフェッチ) を追加します。-O3 は、最大速度について最適化を行いますが、パフォーマンスが向上しないプログラムもあります。
ベクトル化オプション -ax{K|W|N|B|P} および -x{K|W|N|B|P} と -O3 を組み合わせて指定すると、-O2 よりも詳細にデータの依存性を分析します。このため、コンパイル時間が長くなる可能性があります。
-ivdep_parallel オプションは、IVDEP ディレクティブの指定したループにループキャリー依存がないことを断定します。この手法は、スパース・マトリックス・アプリケーションに役立ちます。