+O[no]entrysched

+Oentrysched allows the optimizer to perform

 

instruction scheduling on a subprogram’s entry and

 

exit code sequences. This option is only effective at

 

optimization level 1 or higher.

 

The option can change the behavior of programs that

 

perform exception-handling or that handle

 

asynchronous interrupts.

 

The default is +Onoentrysched.

 

NOTE: This option is valid only on the PA-RISC

 

systems.

+O[no]failsafe

Enable [disable] failsafe optimization. When a

 

compilation fails at the current optimization level,

 

+Ofailsafe will automatically restart the

 

compilation at +O2(for specific high level optimizer

 

errors +O3/+O4) or +O1 for Itanium® processor family

 

architecture and +O0 for PA-RISC architecture. The

 

default is +Ofailsafe.

+Ofast

Select a combination of compilation options for

 

optimum execution speed of the compiled program.

 

Those options include: +O2,

 

+Olibcalls+Onolimit, +Ofltacc=relaxed,

 

and +FPD. +Ofast also causes the +pi4M, +pd4M

 

options to be passed to the linker. In addition to these

 

options, on the Itanium processor family architecture,

 

+DSnative instruction scheduling is selected and

 

+mergeseg is also passed to the linker.

+Ofaster

Selects the +Ofast option at optimization level +O3

 

for PA-RISC based architectures. For Itanium processor

 

family architectures, +Ofaster runs at +O4and implies

 

-ipo.

+O[no]fenvaccess

Inform the compiler that the program accesses [does

 

not access] the floating point environment to test flags

 

or run under non-default modes. If it knows that a

 

program does not access the floating point

 

environment, the compiler is allowed to perform certain

 

optimizations that it otherwise may not perform, such

 

as global common subexpression elimination, code

 

motion, or constant folding.

 

The default is +Onofenvaccess.

+O[no]fastaccess

+Ofastaccess improves execution time by speeding

 

up access to global data items. You can use this option

 

at optimization level 1 or higher. Note that the

 

+Ofastaccess option may increase link time. The

 

default is +Onofastaccess at optimization levels 1,

 

2, and 3; and +Ofastaccess at optimization level

 

4.

 

NOTE: This option is valid only on

+O[no]fltacc

+Onofltacc enables optimizations that follow the

 

rules of algebra but may change the order of

 

expression evaluation. For example, if a, b, and c are

 

floating-point variables, the expressions (a + b) +

 

c and a + (b + c)may give slightly different results

 

due to roundoff.

 

The +Onofltacc option also enables the fusion of

 

adjacent multiply and add operations—resulting in

 

Fused Multiply-Add (FMA). (At optimization level 2 or

 

higher, FMA occurs by default.) FMA improves

 

performance but occasionally produces results that

 

may differ in accuracy from results produced by code

 

where fusion has not occurred. In general, the

 

differences are slight.

42 Compiling and linking