What Kind of Optimization Is Being Performed?

The TMS320C6000 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 4.18.1
Alias disambiguation Section 4.18.1
Branch optimizations and control-flow simplification Section 4.18.3
Data flow optimizations
  • Copy propagation
  • Common subexpression elimination
  • Redundant assignment elimination
Section 4.18.4
Expression simplification Section 4.18.5
Inline expansion of functions Section 4.18.6
Function Symbol Aliasing Section 4.18.7
Induction variable optimizations and strength reduction Section 4.18.8
Loop-invariant code motion Section 4.18.9
Loop rotation Section 4.18.10
Instruction scheduling Section 4.18.11
C6000-Specific Optimization See
Register variables Section 4.18.12
Register tracking/targeting Section 4.18.13
Software pipelining Section 4.18.14