HP Fortran Programmer's Guide (B3908-90031; September 2011)

An overview of HP Fortran
Back-end
Chapter 1 11
Back-end
The two main functions of the back-end are:
To optimize your program for faster performance
To generate the code that goes into the object file
Optimization is performed by two subcomponents of the compilers back end:
The High-Level Optimizer (HLO), which performs large-scale, high-semantic-level analyses and
transformations to increase performance.
The low-level optimizer, which performs traditional optimizations (such as common subexpression
elimination and dead-code removal) as well as machine-specific optimizations.
Options for controlling optimization form the largest group of the command-line options. These options
enable you to do the following:
To set the level of optimization that is applied to your program
To apply a package of optimizations that meet certain requirements of your application—for example,
optimizations that favor compile-time speed over performance
To apply specific optimization technologies to your program, or to specific parts of your program, for
fine-tuning performance
Table 1-4 lists (in summary form) the options that control optimization. For information about how to use
these options, see “Using options to control optimization” on page 145.
NOTE If you use the f90 command to compile and link on separate command lines, many of the
optimization options must appear on both the command line and the link line; see
“Performance and optimization” on page 139. For information about using f90 to compile
and link, see “Linking with f90 vs. ld” on page 76.
Table 1-4 Options for controlling optimization
Option Function
+DC7200 Perform memory hierarchy optimizations for the PA7200 processor.
-O[optlevel] Optimize program, where optlevel is 0 (no optimization), 1, 2, 3,
or 4(the highest level). If optlevel is not specified, the program is
optimized at level 2 (-O2).