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 |