Variables and pointers

Obey all aliasing rules. Avoid specifying -qalias=nostd. For more information on aliasing and how it can affect performance, see Aliasing.

Avoid unnecessary use of global variables and pointers, including module variables and common blocks. When using global variables and pointers in a loop, load them into a local variable before the loop and store them back after. If you do not use the local variable somewhere other than in the loop body, the optimization process can usually recognize what you are doing and expose more optimization opportunities. Replacing a global variable in a loop with a local variable reduces the possibilities for aliasing.

Use the INTENT statement to describe the usage of dummy arguments.

Limit the use of ALLOCATABLE objects and POINTER variables to situations demanding dynamic memory allocation.