Note the following precautions when using this option:

 

All program modules that reference the common

 

block must be compiled with the

 

+Ocache_pad_common option.

 

Each common block in the program should have

 

the same layout in all program units within which

 

it is declared. If the layouts are different, they must

 

be fully independent—that is, they must not pass

 

values between them.

 

The default, +Onocache_pad_common, disables

 

padding.

+O[no]cxlimitedrange

Enables [disables] the use of floating point math in the

 

compilation unit.

 

The default is +Onocxlimitedrange.

+O[no]cross_region_addressing

Enable [disable] the use of cross-region addressing.

 

Cross-region addressing is required if a pointer (such

 

as an array base) points to a different region than the

 

data being addressed. This is usually due to an offset

 

which results in a cross-over into another region.

 

Standard-conforming applications do not require the

 

use of cross-region addressing. The default is

 

+onocross_region_addressing.

+O[no]dataprefetch

+Odataprefetch causes the optimizer to insert

 

instructions within innermost loops to explicitly prefetch

 

data from memory into the data cache. Data prefetch

 

instructions will be inserted only for data structures

 

referenced within innermost loops using simple loop

 

varying addresses—that is, in a simple arithmetic

 

progression. It is not available for PA-RISC 1.1 targets.

 

Use this option for applications that have high data

 

cache miss overhead. The default is

 

+Onodataprefetch. On HP-UX version 11i and

 

later, +Odataprefetch is the same as

 

+Odataprefetch=indirect and

 

+Onodataprefetch is the same as

 

+Odataprefetch=none.At +O2and higher, the

 

default is +Odataprefetch.

+O[no]dataprefetch=[directindirectnone]

Control generation of data prefetch instructions for

 

data structures referenced within innermost loops. The

 

defined values for kind are:

 

direct—enable generation of data prefetch

 

instructions for the benefit of direct memory accesses,

 

but not indirect memory accesses.

 

indirect—enable generation of data prefetch

 

instructions for the benefit of both direct and indirect

 

memory accesses. This is the default at optimization

 

levels +O2 and above.

 

none—disable generation of data prefetch instructions.

 

This is the default at optimization levels +O1 and

 

below.

+O[no]dynopt

Enable [disable] dynamic optimization for the output

 

file, if the run-time environment supports this feature.

 

Both forms of this option change the default setting,

 

which allows the run-time environment to enable or

 

disable dynamic optimization according to

 

asystem-wide default. This option applies only to

 

executable files and shared libraries. chatr(1) can

 

be used to change this setting, including restoration

 

of the default setting, after the output file has been

 

created.

Fine-tuning optimization options

41