Table 29 Fine-tuning optimization options (continued)

Level

Level

Function

+O[no]inline

+O3or higher

Enable [disable] inlining.

 

 

The default is +Oinline.

+Oinline_level num

All

This option controls inlining

 

 

in fortran. The format for

 

 

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.

+O[no]libcalls

All

Substitute [do not substitute]

 

 

millicode versions of specific

 

 

intrinsics. The default is

 

 

+Olibcalls.

+O[no]loop_block

+O3or higher

Loop blocking is a

 

 

combination of strip mining

 

 

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.

+O[no]loop_unroll=n

+O2or higher

Unroll [do not unroll]

 

 

program loops by a factor

 

 

of n. The default is

 

 

+Oloop_unroll=4.

+O[no]loop_unroll_jam

+O3or higher

Loop unroll-and-jam involves

 

 

partially unrolling one or

 

 

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.

+moduleoptimize

All

The compiler reads only

 

 

required information from a

 

 

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

Page 95
Image 95
HP UX Fortran Software manual +Oinlinelevel num, +Onolibcalls, +Olibcalls, +Onoloopunroll=n