IVDEP directive (The GNU Fortran Compiler)

#### 6.2.4 `IVDEP` directive ¶

The syntax of the directive is

`!GCC$ ivdep`

This directive tells the compiler to ignore vector dependencies in the following loop. It must be placed immediately before a `DO` loop and applies only to the loop that follows.

Sometimes the compiler may not have sufficient information to decide whether a particular loop is vectorizable due to potential dependencies between iterations. The purpose of the directive is to tell the compiler that vectorization is safe.

For `DO CONCURRENT` constructs this annotation is implicit to all loop control variables.

This directive is intended for annotation of existing code. For new code it is recommended to consider OpenMP SIMD directives as potential alternative.