-unroll | Tells the compiler to use default heuristics for loop unrolling. |
-openmp |
Enables the parallelizer to generate multithreaded code based on OpenMP* directives. |
-fast | Maximizes speed across the entire program, this option sets
options -ipo, -static and -O3. |
-ipo |
Enables multifile interprocedural (IP) optimizations (between
files). When you specify this option, the compiler performs
inline function expansion for calls to functions defined in
separate files. |
|
-static |
Prevents linking with shared libraries. |
-O3 | Enables -O2 optimizations plus more aggressive optimizations,
such as prefetching, scalar replacement, and loop
transformations. Enables optimizations for maximum speed, but does not
guarantee higher performance unless loop and memory access
transformations take place. |
-O2 | Enables
optimizations for speed, including global code scheduling,
software pipelining, predication, and speculation. It also
enables: |
|
- Inlining of intrinsics
- Intra-file interprocedural optimizations, which include:
inlining, constant propagation, forward substitution, routine
attribute propagation, variable address-taken analysis, dead
static function elimination, and removal of unreferenced
variables.
- The following capabilities for performance gain: constant
propagation, copy propagation, dead-code elimination, global
register allocation, global instruction scheduling and conrol
speculation, loop unrolling, optimized code selection,
partial redundancy elimination, strength reduction/induction
variable simplification, variable renaming, exception handling
optimizations, tail recursions, peephole optimizations,
structure assignment lowering and optimizations, and dead
store elimination.
|