コマンドラインによる IPO 実行ファイルの作成

IA-32 アーキテクチャを対象とするコンパイルと Itanium® アーキテクチャを対象とするコンパイルでは、IPO を有効にするコマンドライン・オプションは同じです。中間表現 (IR) を含む疑似オブジェクト・ファイルを作成するには、-ipo を使用して次のようにソースファイルをコンパイルします:

prompt>icpc -ipo -c a.cpp b.cpp c.cpp

上記のコマンドは、a.ob.o、および c.o オブジェクト・ファイルを生成します。これらのファイルには、コンパイルされたソースファイル a.cppb.cpp、および c.cpp に対応したインテル・コンパイラの IR が含まれます。.o ファイルが生成された後で、コンパイルを停止するには、-c が必要です。

これで、リンク・コマンドラインに -ipo を追加して、プロシージャ間の最適化を行うことができます。次の例では、実行ファイル app を作成します:

prompt>icpc -oapp -ipo a.o b.o c.o

このコマンドは、IR を含むオブジェクトに対してコンパイラを実行して、リンクされるオブジェクトの新しい一覧を生成します。そして 、指定されたオブジェクト・ファイルにリンクする GCC ld を呼び出し、-o オプションで指定された app を生成します。IPO は IR を含むオブジェクト・ファイルにだけ適用され、IR を含まないオブジェクト・ファイルはリンク段階に渡されます。


上記の手順では、icpc の代わりに xlid ツールを使用できます。

また、上記の 2 つのコマンドを次のように 1 つに組み合わせることもできます:

prompt>icpc -ipo -oapp a.f b.f c.f