インテル® C++ コンパイラー 17.0 デベロッパー・ガイドおよびリファレンス
指定された位置でループ分配を行うようにコンパイラーに指示します。
#pragma distribute_point |
なし
この distribute_point プラグマは、大きなループを小さなループに分割するようにコンパイラーに指示します。レジスターの使用率が高いためにベクトル化のような最適化を実行できない場合に役立ちます。
このプラグマには次の規則が適用されます。
プラグマがループの内部に配置されると、コンパイラーはそのポイントでループを分配します。 ループ伝播の依存はすべて無視されます。
ループの内部で、プラグマは if 文の内部には配置できません。
プラグマがループの外部に配置されると、コンパイラーはその内部ヒューリスティックに基づいてループを分配します。 コンパイラーはループを分配する場所を決定し、データ依存性を監視します。 プラグマがループの内部に配置された場合、コンパイラーはプラグマの複数のインスタンスをサポートします。
ループ外で distribute_point プラグマを使用する例 |
---|
|
ループ内で distribute_point プラグマを使用する例 |
---|
|
ループ内とループ外で distribute_point プラグマを使用する例 |
---|
|