The compiler provides many different options for optimizing the code it produces. For example:
- Vectorization enables the use of the NEON Single Instruction Multiple Data (SIMD) instructions that allow parallel processing of data.
- Link Time Optimization (LTO) increases the number of optimization opportunities by analyzing source code from different modules together.
- Function inlining can improve performance by reducing the overhead of repeated function calls.
These optimization techniques can be individually controlled using options supplied to the compiler and linker.
- Selecting optimization options shows how to select different optimization levels with Arm Compiler: optimizing for maximum performance, for example, or best code size.
- The armclang Reference Guide and armlink User Guide provide detailed descriptions of all available optimization options.
- Optimization Techniques in the Arm Compiler User Guide describes how to use armclang to optimize for either code size or performance, and the impact of the optimization level when debugging.
- Linker Optimization Features in the armlink User Guide describes the optimization features available in the Arm linker, armlink.