Keil Logo

General Optimizations

Optimization Description
Constant Folding Multiple constant values in an expression or address calculation are combined into a single constant.
Jump Optimizing Jumps are extended to the final target address. Jumps to jumps are eliminated. Conditional jumps are examined to determine if they can be streamlined or eliminated by the inversion of the test logic.
Dead Code Elimination Code which cannot be reached (dead code) is removed from the program. This includes code which is not executed due to constant conditional expressions or unreferenced labels.
Register Variables Automatic variables and function arguments are located in registers when possible. No data memory is reserved for these variables.
Parameter Passing
Via Registers
A maximum of three function arguments may be passed in registers.
Global Common
Subexpression Elimination
Identical subexpressions or address calculations that occur multiple times in a function are recognized and calculated only once when possible.
Life Variable Analysis Removes redundant store operations to automatic variables.
Constant Propagation The values of expressions are tracked and when possible constant values are inserted instead of variable accesses.
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.