TI Logo
TI C7000 C/C++ Optimization Guide
v4.1
  • 1. Introduction
  • 2. C7000 DSP CPU Architecture
  • 3. Profiling Code
  • 4. Basic Code Optimization Strategies and Techniques
    • 4.1. Overview of the Compilation Process
    • 4.2. Selecting Compiler Options
    • 4.3. Automatic Use of the Streaming Engine and Streaming Address Generator
    • 4.4. Using Existing Optimized Libraries
    • 4.5. Signed Types for Iteration Counters and Limits
    • 4.6. Use of the restrict Keyword
    • 4.7. Function Calls and Inlining
    • 4.8. MUST_ITERATE and PROB_ITERATE Pragmas and Attributes
    • 4.9. Floating-Point Division
    • 4.10. C++ Features to Use and Avoid
    • 4.11. Memory Optimizations
    • 4.12. Vector Programming and the Scalable Vector Programming Model
  • 5. Understanding Compiler Optimization
  • 6. Advanced Code Optimization Techniques
  • 7. Examples
  • 8. Support
  • 9. Revision History
  • 10. Important Notice
TI C7000 C/C++ Optimization Guide
  • »
  • 4. Basic Code Optimization Strategies and Techniques

4. Basic Code Optimization Strategies and TechniquesΒΆ

This section discusses basic code optimization techniques that can be applied to C/C++ code that will run on the C7000 DSP core.

Contents:

  • 4.1. Overview of the Compilation Process
  • 4.2. Selecting Compiler Options
    • 4.2.1. Selecting Compiler Options for Best Performance
    • 4.2.2. Selecting Compiler Options for Lowest Code Size
    • 4.2.3. Understanding the Performance and Code Size Tradeoff
    • 4.2.4. Compiler Options that Provide Additional Information
  • 4.3. Automatic Use of the Streaming Engine and Streaming Address Generator
  • 4.4. Using Existing Optimized Libraries
  • 4.5. Signed Types for Iteration Counters and Limits
  • 4.6. Use of the restrict Keyword
    • 4.6.1. The Restrict Keyword
    • 4.6.2. Compiler-Emitted Restrict Advice
    • 4.6.3. Run-Time Alias Disambiguation
    • 4.6.4. Loop-Carried Dependencies
  • 4.7. Function Calls and Inlining
  • 4.8. MUST_ITERATE and PROB_ITERATE Pragmas and Attributes
  • 4.9. Floating-Point Division
  • 4.10. C++ Features to Use and Avoid
  • 4.11. Memory Optimizations
  • 4.12. Vector Programming and the Scalable Vector Programming Model
    • 4.12.1. Vector Types
    • 4.12.2. Scalable Vector Programming Model
Previous Next

© Copyright 2024, Texas Instruments Incorporated. Last updated on Sep 25, 2024.