インテル® C++コンパイラには、最適化レポートを生成、管理するオプションがあります。
コンパイラは、-opt_report_phasephase オプションの phase 引数で指定される最適化機構のレポートを作成できます。複数の最適化機構のレポートを作成するために同じコマンドライン上に複数回、オプションを使用できます。現在、次の最適化機構レポートがサポートされています。
最適化機構 の論理名 |
最適化機構のフルネーム |
---|---|
ipo | Interprocedural Optimizer (プロシージャ間の最適化) |
hlo | High Level Optimizer (高レベル最適化) |
ilo | Intermediate Language Scalar Optimizer (中間言語スカラ最適化機構) |
ecg | Code Generator (コード・ジェネレータ) |
omp | OpenMP |
all | すべてのフェーズ |
上記の最適化機構の論理名の 1 つが指定されるとその最適化機構からのすべてのレポートが作成されます。
例えば、-opt_report_phaseipo -opt_report_phaseecg では、プロシージャ間の最適化およびコードの生成からレポートが作成されます。
各最適化機構は、特定の最適化を行うことができます。これらの各最適化は、論理名の 1 つがプリフィックスになります。次に例を示します:
Optimizer_optimization | フルネーム |
---|---|
ipo_inline | Interprocedural Optimizer (プロシージャ間の最適化)、inline expansion of functions (関数のインライン展開) |
ipo_constant_propagation | Interprocedural Optimizer (プロシージャ間の最適化)、constant propagation (定数伝播) |
ipo_function_reorder | Interprocedural Optimizer (プロシージャ間の最適化)、function reorder (関数の再順序化) |
ilo_constant_propagation | Intermediate Language Scalar Optimizer (中間言語スカラ最適化機構)、constant propagation (定数の伝播) |
ilo_copy_propagation | Intermediate Language Scalar Optimizer (中間言語スカラ最適化機構)、copy propagation (コピー伝播) |
ecg_software_pipelining | Code Generator (コード・ジェネレータ)、software pipelining (ソフトウェアのパイプライン化) |
指定された最適化機構のプリフィックスと一致するすべての最適化レポートが作成されます。例えば、-opt_report_phase ilo_co が指定された場合、定数伝播およびコピー伝播の両方からのレポートが作成されます。
-opt_report_help オプションは、レポートの作成に利用可能な最適化機構の論理名をリストします。