The table below shows the optimizations that the Intel® C++ Compiler applies when you invoke the -O1, -O2, or -O3 options.
Optimization |
---|
Constant propagation |
Copy propagation |
Dead-code elimination |
Global register allocation |
Instruction scheduling |
Loop unrolling (-O2, -O3 only) |
Loop-invariant code movement |
Partial redundancy elimination |
Strength reduction/induction variable simplification |
Variable renaming |
Exception handling optimizations |
Tail recursions |
Peephole optimizations |
Structure assignment lowering and optimizations |
Dead store elimination |