HP C Programmer's Guide (92434-90009)

Chapter 4 77
Optimizing HP C Programs
Controlling Specific Optimizer Features
Parallelization is incompatible with the prof tool, so the -p option is disabled by
+Oparallel. Parallelization is compatible with gprof. Special *crt0.o startup files are
required for programs compiled for a parallel environment. The parallel runtime library,
libmp.a, must be linked in.
For additional information, see the section "Parallel Execution" at the end of this chapter.
+O[no]parallel_env
Optimization level(s): 3, 4
Default: +O[no]parallel_env
Use +Oparallel_env to compile code to work in a parallelized program, but without
parallelizing loops. The +Oparallel_env option (used in association with the +Oparallel
option) ensures a consistent execution environment for all files in the program, including
those that you do not want compiled for parallel execution.
For additional information, see the section "Parallel Execution" at the end of this chapter.
+O[no]parmsoverlap
Optimization level(s): 2, 3, 4
Default: +Oparmsoverlap
The +Oparmsoverlap option optimizes with the assumption that the actual arguments of
function calls overlap in memory.
The +Onoparmsoverlap option replaces the obsolete +Om1 option.
Use +Onoparmsoverlap if C programs have been literally translated from FORTRAN
programs.
+O[no]pipeline
Optimization level(s): 2, 3, 4
Default: +Opipeline
Enables [or disables] software pipelining. The +Onopipeline option replaces the obsolete
+Os option.
Use +Onopipeline to conserve code space.
+O[no]procelim
Optimization level(s): 0, 1, 2, 3, 4
Default: +Onoprocelim at levels 0-3, +Oprocelim at level 4
When +Oprocelim is specified, procedures that are not referenced by the application are
eliminated from the output executable file. The +Oprocelim option reduces the size of the
executable file, especially when optimizing at levels 3 and 4, at which inlining may have
removed all of the calls to some routines.