#pragma ibm iterations

适用的调用

表 1. 接受给定编译指示的调用
编译指示 (pragma) xlc (编译 C) xlC (编译 C++) xlclang(编译 C) xlclang++(编译 C++)
#pragma ibm iterations    
注: 此表中仅列出典型调用。 对于所有基本调用及其等效特殊调用,您可以参阅 编译器调用的完整列表

类别

优化和调整

用途

迭代 编译指示指定所选循环的近似平均循环迭代次数。

语法

读取语法图跳过可视语法图#pragmaibm iterations (迭代计数)

参数

迭代计数
指定使用正整数常量表达式的循环迭代的近似次数。

使用量

编译器使用 iteration_count 中的信息进行循环优化。 您可以指定多个 #pragma ibm iterations(iteration_count)。

#pragma ibm iterations 中指定的 iteration_count 不能小于 #pragma ibm min_iterations中指定的 iteration_count 。 此外,它不能大于 #pragma ibm max_iterations中指定的 iteration_count 。 否则,将使用消息忽略不一致的值。

示例

#pragma ibm     iterations(100)        // Accepted
#pragma ibm min_iterations(150)        // Ignored (150 > 100)
#pragma ibm min_iterations( 30)        // Accepted( 30 < 100)
#pragma ibm max_iterations( 60)        // Ignored ( 60 < 100)
#pragma ibm     iterations( 20)        // Ignored ( 20 < 30)
#pragma ibm max_iterations(500)        // Accepted(500 > 100 > 30)
#pragma ibm max_iterations(620)        // Ignored (Multiple occurrences)
#pragma ibm     iterations(200)        // Accepted( 30 < 200 < 500)
#pragma ibm min_iterations( 15)        // Ignored (Multiple occurrences)

   for (int i=0; i < n; ++i)
   {
     #pragma ibm max_iterations(130)   // Accepted
     #pragma ibm min_iterations( 90)   // Accepted( 90 < 130)
     #pragma ibm     iterations( 60)   // Ignored ( 60 <  90)
     #pragma ibm     iterations(100)   // Accepted( 90 < 100 < 130)

     for (int j=0; j < m; ++j) b[j] += a[i];
   }