inlining. This option has the following

 

syntax:

 

+Oinline_budget=n

 

where n is an integer in the range 1 -

 

1000000 that specifies the level of

 

aggressiveness, as listed in Table on page

 

70.

 

The +Onolimit and +Osize options

 

also affect inlining. Specifying the

 

+Onolimitoption has the same effect as

 

specifying +Oinline_budget=200. The

 

+Osize option has the same effect as

 

+Oinline_budget=1.

 

Note, however, that the

 

+Oinline_budget option takes

 

precedence over both of these options.

 

This means that you can override the effect

 

of +Onolimit or +Osizeoption on

 

inlining by specifying the

 

+Oinline_budgetoption on the same

 

command line.

 

This option is only effective at optimization

 

level 3 or higher.

Table 19 Values for the +Oinline_budget option

Values for n

Meaning

= 100

Default level of inlining.

> 100

More aggressive inlining. The optimizer is less restricted by compilation time and code size

 

when searching for eligible routines to inline.

2 - 99

Less aggressive inlining. The optimizer gives more weight to compilation time and code size

 

when determining whether to inline.

= 1

Only inline if it reduces code size.

+O[no]libcalls invokes millicode versions of a number of frequently called intrinsic functions; see Table on page

70.Millicode routines have very low call overhead and provide no error-handling. Use this option to improve the performance of selected library routines only when your program does not depend upon exception-handling.

The default is +Onolibcallsat optimization levels 0 and 1; at optimization level 2 or higher, the default is +Olibcalls.

Table 20 Millicode versions of intrinsic functions

acos

cos

pow

asin

exp

sin

atan

log

tan

atan2

log10

 

+o[no]libmerrno

Enable [disable] support for errnoin libm functions.

 

The default is +Onolibmerrno.

+O[no]loop_block

+O[no]loop_blockenables or disables blocking of

 

eligible loops for improved cache performance. The

 

+Onoloop_blockoption disables both automatic and

 

directive-specified loop blocking.

Fine-tuning optimization options

45

Page 45
Image 45
HP UX Fortran Software manual Values for the +Oinlinebudget option, Millicode versions of intrinsic functions