Oracle Solaris Studio 12.2:Fortran 用户指南

3.4.133 –xivdep[= p]

禁用或设置 !DIR$ IVDEP 指令的解释。

IVDEP 指令指示编译器忽略其在循环中找到的部分或全部对数组引用的循环附带依赖性,使编译器能够在其他循环之间执行各种循环优化,例如微向量化、分布、软件流水化,否则这些优化将无法实现。当用户知道这些依赖性无关紧要或者实际上永远不会发生时,可以使用该指令。

!DIR$ IVDEP 指令的解释取决于 -xivdep 选项的值。p 的以下值解释如下:

loop—忽略假定的循环附带向量依赖性

loop_any—忽略所有循环附带向量依赖性

back — 忽略假定的向后循环附带向量依赖性

back_any—忽略所有向后循环附带向量依赖性

none—不忽略任何依赖性(禁用 IVDEP 指令)

提供这些解释是为了与另一个供应商对 IVDEP 指令的解释兼容。

不指定 -xivdep 以及指定不带参数的 -xivdep 时,缺省值都是 -xivdep=loop,意味着按缺省启用 !DIR$ IVDEP 指令。

有关更多信息,请参见2.3.3 IVDEP 指令