SPRU514Z July 2001 – October 2023 SM320F28335-EP
The TMS320C28x C/C++ compiler uses a variety of optimization techniques to improve the execution speed of your C/C++ programs and to reduce their size. The following are some of the optimizations performed by the compiler:
| Optimization | See |
|---|---|
| Cost-based register allocation | Section 3.16.1 |
| Alias disambiguation | Section 3.16.2 |
| Branch optimizations and control-flow simplification | Section 3.16.3 |
Data flow optimizations
|
Section 3.16.4 |
| Expression simplification | Section 3.16.5 |
| Inline expansion of functions | Section 3.16.6 |
| Function symbol aliasing | Section 3.16.7 |
| Induction variables and strength reduction | Section 3.16.8 |
| Loop-invariant code motion | Section 3.16.9 |
| Loop rotation | Section 3.16.10 |
| Instruction scheduling | Section 3.16.11 |
| C28x-Specific Optimization | See |
|---|---|
| Register variables | Section 3.16.12 |
| Register tracking/targeting | Section 3.16.13 |
| Tail merging | Section 3.16.14 |
| Autoincrement addressing | Section 3.16.15 |
| Removing comparisons to zero | Section 3.16.16 |
| RPTB generation (for FPU targets only) | Section 3.16.17 |