Download CA850 Ver. 3.20 C Compiler Package Operation UM

Transcript
CHAPTER 3 C COMPILER
The meanings of the expressions in this table are as follows.
Debug
As the level of optimization increases, optimization that deletes C language source lines
and concentrates the same processing on one location occurs, and there is a tendency
that the places where breakpoints can be set decrease. In addition, the probability of
assigning a variable from memory to a register improves.
The level of optimization at which the tendency that many breakpoints can be set and the
probability of allocating variables to registers is small is called level 4, and the level at
which the tendency is the strongest is called level 1. Debugging can be executed even at
level 1.
Code
Efficiency
The ROM size efficiency is classified into levels 1 to 5.
The option that minimizes the ROM size is -Os. This option takes a long compilation time.
Use the -Og or -O option if the ROM capacity has a wide margin.
Execution
Speed
The execution speed is classified into levels 1 to 5.
To reduce the ROM capacity of the entire module and improve the effective speed of only
critical functions further, specify the -Ot option in file units.
Compilation
Time
The compilation time is classified into levels 1 to 3.
Options -O, -Os, and -Ot execute powerful optimization and therefore take a longer
compilation time than the other options.
(1) -Od : Optimize for Debugging
Optimization is executed within a basic blockNote. This is optimization using information that can be grasped in
a basic block, and includes calculation of constants, deformation of expressions, recognition of common parts in
a basic block, and propagation of copy in a basic block. This optimization is executed by default when compilation is executed.
For example, an operation expression of only constants is replaced by the constants of the operation result
during compilation.
The effect of this optimization is weakest with the CA850. This optimization is equivalent in level to the default
optimization of CA850 Ver. 2.4x.
Note
The longest array of instructions whose first instruction is always executed first. A branch occurs only
from the last instruction of this array.
(2) -Ob : Default Optimization
Optimization in a basic block and allocation of automatic variables to coloring registers are performed.
-
Automatic variables are allocated as registers.
This optimization does not affect debugging.
This is the default optimization of the CA850. It deletes more unnecessary codes than -Od because register
allocation is a high-level function.
118
User’s Manual U18512EJ1V0UM