 | C251 User's Guide |  |
|
|
| 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. |
|
|