Microchip Technology XC8 Standard Compiler (Workstation) SW006021-1 SW006021-1 Manual De Usuario
Los códigos de productos
SW006021-1
C Language Features
2012 Microchip Technology Inc.
DS52053B-page 209
Variables assigned a value before being read are not cleared or initialized by the
runtime startup code. Only non-auto variables are considered and if they
are assigned a value before other code can read their value, they are treated
as being persistent, see Section 5.4.8.1 “Persistent Type Qualifier”.
All persistent objects are not cleared by the runtime startup code, so this
optimization will speed execution of the program startup.
are assigned a value before other code can read their value, they are treated
as being persistent, see Section 5.4.8.1 “Persistent Type Qualifier”.
All persistent objects are not cleared by the runtime startup code, so this
optimization will speed execution of the program startup.
Dereferencing pointers with only target can be replaced with direct access of the
target object. This applies to data and function pointers.
As C-level optimizations are performed before debug information is produced, they
tend to have less impact on debugging information. However, if a variable is located in
a register IDEs, such as MPLAB IDE, may indicate incorrect values in their Watch view.
This is due to a limitation in the file format used to pass debug information to the IDE
(which is currently COFF). Check the assembly list file to see if registers are using in
the routine being debugged.
tend to have less impact on debugging information. However, if a variable is located in
a register IDEs, such as MPLAB IDE, may indicate incorrect values in their Watch view.
This is due to a limitation in the file format used to pass debug information to the IDE
(which is currently COFF). Check the assembly list file to see if registers are using in
the routine being debugged.
The assembly-level optimizations are described in Section 6.5 “Assembly-Level
Optimizations”.
Optimizations”.