HLO Overview

High-level optimizations exploit the properties of source code constructs (for example, loops and arrays) in the applications developed in high-level programming languages, such as Fortran and C++. The high-level optimizations include loop interchange, loop fusion, loop unrolling, loop distribution, unroll-and-jam, blocking, data prefetch, scalar replacement, data layout optimizations and some others. The option that turns on the high-level optimizations is -O3.

IA-32 and Itanium(TM)-based applications

-O3

Enable -O2 option plus more aggressive optimizations, for example, loop transformation and prefetching. -O3 optimizes for maximum speed, but may not improve performance for some programs.

IA-32 applications

-O3

In addition, in conjunction with the vectorization options, -ax{M|K|W} and -x{M|K|W}, -O3 causes the compiler to perform more aggressive data dependency analysis than for -O2. This may result in longer compilation times.