Oracle® Solaris Studio 12.4: Fortran User's Guide

Exit Print View

Updated: March 2015
 
 

3.4.136 –xivdep[=p]

Disable or set interpretation of !DIR$ IVDEP directives

The IVDEP directive tells the compiler to ignore some or all loop-carried dependences on array references that it finds in a loop, allowing it to perform various loop optimizations such as microvectorization, distribution, software pipelining, among others, that would not be otherwise possible. It is employed in situations where the user knows either that the dependences do not matter or that they never occur in practice.

The interpretation of !DIR$ IVDEP directives depend upon the value of the -xivdep option. The following values for p are interpreted as follows:

loop — ignore assumed loop-carried vector dependences
loop_any — ignore all loop-carried vector dependences
back — ignore assumed backward loop-carried vector dependences
back_any — ignore all backward loop-carried vector dependences
none — do not ignore any dependences (disables IVDEP directives)

These interpretations are provided for compatibility with other vendor's interpretations of the IVDEP directive.

The default when —xivdep is not specified, and when —xivdep is specified without an argument, are both —xivdep=loop, which implies that the !DIR$ IVDEP directives are enabled by default.

For more information, see IVDEP Directive for details.