IPO の中間出力の取得

-ipo_c-ipo_S オプションは、IPO の効果を分析する場合や、完成したプログラムになる前のモジュールで IPO を使用する場合に便利です。

複数のファイル全体にわたって最適化を行い、オブジェクト・ファイルを生成するには、-ipo_c オプションを使用します。このオプションを使用すると、-ipo の解説で述べた最適化処理を行いますが、最後のリンク段階に進む前にその処理は停止し、最適化されたオブジェクト・ファイルはそのまま残ります。このファイルのデフォルト名は ipo_out.o です。-o オプションを使用して、別のファイル名を指定できます。次に例を示します。

prompt>icpc -tpp6 -ipo_c -ofilename a.cpp b.cpp c.cpp

複数のファイル全体にわたって最適化を行い、アセンブリ・ファイルを生成するには、-ipo_S オプションを使用します。このオプションを使用すると、-ipo の解説で述べた最適化処理を行いますが、最後のリンク段階に進む前にその処理は停止し、最適化されたアセンブリ・ファイルはそのまま残ります。このファイルのデフォルト名は ipo_out.s です。-o オプションを使用して、別のファイル名を指定できます。次に例を示します。

prompt>icpc -tpp6 -ipo_S -ofilename a.cpp b.cpp c.cpp

マルチオブジェクト IPO を使用した場合、-ipo_c および -ipo_S オプションは、複数の出力を生成します。最初のファイルの名前は、-o オプションによるファイル名から取得します。それ以降のファイルの名前には、取得したファイル名に番号が追加されます。例えば、最初のオブジェクト・ファイルの名前が foo.o の場合、次のオブジェクト・ファイルの名前は foo1.o となります。

コンパイラは、生成される各オブジェクトまたはアセンブリ・ファイルの名前を示すメッセージを表示します。これらのファイルは、実際のリンク段階で追加することで、最終的なアプリケーションをビルドすることができます。