What Kind of Optimization Is Being Performed?

The MSP430 C/C++ compiler uses a variety of optimization techniques to improve the execution speed of your C/C++ programs and to reduce their size.

Following are some of the optimizations performed by the compiler:

Optimization See
Cost-based register allocation Section 3.13.1
Alias disambiguation Section 3.13.1
Branch optimizations and control-flow simplification Section 3.13.3
Data flow optimizations
  • Copy propagation
  • Common subexpression elimination
  • Redundant assignment elimination
Section 3.13.4
Expression simplification Section 3.13.5
Inline expansion of functions Section 3.13.6
Function Symbol Aliasing Section 3.13.7
Induction variable optimizations and strength reduction Section 3.13.8
Loop-invariant code motion Section 3.13.9
Loop rotation Section 3.13.10
Instruction scheduling Section 3.13.11
MSP430-Specific Optimization See
Tail merging Section 3.13.12
Integer division with constant divisor Section 3.13.13