HP aC++/HP C A.06.20 Programmer's Guide
is 4, that is, four copies of the loop body. The unroll_factor controls code expansion.
Note that +Onoloop_unroll has no effect on loop unroll-and-jam.
+O[no]loop_unroll_jam
+O[no]loop_unroll_jam
Loop unroll-and-jam involves partially unrolling one or more loops higher in the nest
than the innermost loop, and fusing ("jamming") the resulting loops back together. This
transformation is primarily intended to increase register reuse and decrease memory
loads and stores per operation within an iteration of a nested loop.
At optimization levels 3 and 4, the default is +Oloop_unroll_jam, which allows
automatic loop unroll-and-jam. Specifying +Onoloop_unroll_jam disables loop
unroll-and-jam. Note that +Onoloop_unroll has no effect on loop unroll-and-jam.
+O[no]moveflops
+O[no]moveflops
The +Onomoveflops option is approximately equivalent to +Ofltacc=strict
+Ofenvaccess. The default is +Omoveflops.
This option is deprecated and may not be supported in future releases.
+O[no]openmp
+O[no]openmp
The +Oopenmp option causes the OpenMP directives to be honored. This option is
effective at any optimization level. Non OpenMP parallelization directives are ignored
with warnings. +Onoopenmp requests that OpenMP directives be silently ignored. If
neither +Oopenmp nor +Onoopenmp is specified, OpenMP directives will be ignored
with warnings.
The OpenMP specification is available at http://www.openmp.org/specs. OpenMP
programs require the libomp and libcps runtime support libraries to be present on
both the compilation and runtime systems. The compiler driver automatically includes
them when linking.
If you use +Oopenmp in an application, you must use -mt with any files that are not
compiled with +Oopenmp. For additional information and restrictions, See “-mt”
(page 87).
It is recommended that you use the -N option when linking OpenMP programs to
avoid exhausting memory when running with large numbers of threads.
80 Command-Line Options