Sun Studio 12: C ユーザーズガイド

B.2.94 -xipo_archive=[a]

新しい -xipo_archive オプションは、実行可能ファイルを生成する前に、-xipo を付けてコンパイルされ、アーカイブライブラリ (.a) に存在するオブジェクトファイルを使って、リンカーに渡すオブジェクトファイルを最適化するよう指示します。コンパイル中に最適化されたライブラリに含まれるオブジェクトファイルはすべて、その最適化されたバージョンに置き換えられます。

a には、次のいずれかを指定します。

表 B–25 -xipo_archive のフラグ

値 

意味 

writeback

実行可能ファイルを生成する前に、アーカイブライブラリ (.a) に存 在するオブジェクトファイル (-xipo でコンパイルしたファイル) を使ってリンカーに渡すオブジェクトファイルを最適化します。コンパイル中に最適化されたライブラリに含まれるオブジェクトファイルは、すべてその最適化されたバージョンに置き換えられます。

アーカイブライブラリの共通セットを使用する並列リンクの場合、各リンクでアーカイブライブラリの独自のコピーを作成して、リンクする前に最適化する必要があります。 

readonly

実行可能ファイルを生成する前に、アーカイブライブラリ (.a) に存 在するオブジェクトファイル (-xipo でコンパイルしたファイル) を使ってリンカーに渡すオブジェクトファイルを最適化します。

-xipo_archive=readonly オプションを使用すると、リンク時に指定されたアーカイブライブラリのオブジェクトファイルで、モジュール間のインライン化と内部手続きデータフロー解析を実行できます。ただし、モジュール間のインライン化によってほかのモジュールに挿入されたコード以外のアーカイブライブラリのコードに対して、モジュール間の最適化を行うことはできません。

アーカイブライブラリ内のコードに対してモジュール間の最適化を適用するには、-xipo_archive=writeback を指定する必要があります。これを行うと、コードが抽出されたアーカイブライブラリの内容が変更されることがあります。

none

これはデフォルト値です。アーカイブファイルの処理は行いません。コンパイラは、モジュール間のインライン化またはほかのモジュール間の最適化を -xipo を使用してコンパイルされ、リンク時にライブラリから抽出されたオブジェクトファイルに適用しません。これを行うには、-xipo と、-xipo_archive=readonly または -xipo_archive=writeback のいずれかをリンク時に指定する必要があります。

-xipo_archive の値が指定されない場合、-xipo_archive=none に設定されます。

フラグなしで -xipo_archive を指定することはできません。