+O[no]cross_region_addressing

+O[no]cross_region_addressing

The +O[no]cross_region_addressing option enables [disables] 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 due to an offset that 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.

NOTE: Using this option may result in reduced runtime performance.

+O[no]datalayout

+O[no]datalayout

The +O[no]datalayout option enables [disables] profile-driven layout of global and static data items to improve cache memory utilization. This option is currently enabled if +Oprofile=use (dynamic profile feedback) is specified.

The default, in the absence of +Oprofile=use, is +Onodatalayout.

+O[no]dataprefetch

+O[no]dataprefetch

When +Odataprefetch is enabled, the optimizer inserts instructions within innermost loops to explicitly prefetch data from memory into the data cache. Data prefetch instructions are inserted only for data structures referenced within innermost loops using simple loop varying addresses (that is, in a simple arithmetic progression).

Use this option for applications that have high data cache miss overhead.

+Odataprefetch is equivalent to +Odataprefetch=indirect. +Onodataprefetch is equivalent to +Odataprefetch=none.

Usage:

+Odataprefetch=kind

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. This is the default at optimization level

 

+O1.

indirect

Enables the 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.

 

It is treated the same as direct at optimization level +O1.

none

Disables the generation of data prefetch instructions. This is the default at optimization

 

level +O0.

+O[no]fltacc

+O[no]fltacc=level

The +O[no]fltacc option disables [enables] floating-point optimizations that can result in numerical differences. Any option other than +Ofltacc=strict also generates Fused Multiply-Add (FMA) instructions. FMA instructions can improve performance of floating-point applications.

If you specify neither +Ofltacc nor +Onofltacc, less optimization is performed than for +Onofltacc. If you specify neither option, the optimizer generates FMA instructions but does not perform any expression-reordering optimizations.

Specifying +Ofltacc insures the same result as in unoptimized code (+O0).

Usage:

58 Command-Line Options

Page 58
Image 58
HP C/aC++ for PA-RISC Software manual +Onocrossregionaddressing, +Onodatalayout, +Onodataprefetch, +Onofltacc