HP Fortran Programmer Guide (766160-001, March 2014)
Table 29 Fine-tuning optimization options (continued)
FunctionLevelLevel
Enable [disable] inlining.
The default is +Oinline.
+O3or higher+O[no]inline
This option controls inlining
in fortran. The format for
All+Oinline_level num
num is N[.n], where num is
either an integral value from
0 to 9 or a value with a
single decimal place from
0.0 to 9.0.
For more information on this
option, see
F90((1))manpage.
Substitute [do not substitute]
millicode versions of specific
All+O[no]libcalls
intrinsics. The default is
+Olibcalls.
Loop blocking is a
combination of strip mining
+O3or higher+O[no]loop_block
and interchange that
improves data cache
locality. It is provided
primarily to deal with nested
loops that manipulate arrays
that are too large to fit into
the data cache. Under
certain circumstances, loop
blocking allows reuse of
these arrays by transforming
the loops that manipulate
them so that they manipulate
strips of the arrays that fit
into the cache.
Unroll [do not unroll]
program loops by a factor
+O2or higher+O[no]loop_unroll=n
of n. The default is
+Oloop_unroll=4.
Loop unroll-and-jam involves
partially unrolling one or
+O3or higher+O[no]loop_unroll_jam
more loops higher in the nest
than the innermost loop, and
fusing ("jamming") the
resulting loops back
together. This transformation
is primarily intended to
increase register reuse and
decrease memory loads and
stores per operation within
an iteration of a nested loop.
The compiler reads only
required information from a
All+moduleoptimize
module file. Optimized
module files are created by
discarding redundant
information while importing
the module file. In case of
nested modules or
hierarchical modules, the
compilation time and
memory requirement of
Using options to control optimization 95