SW006012 Microchip Technology, SW006012 Datasheet - Page 63

C COMPILER FOR DSPIC30F FAMILY

SW006012

Manufacturer Part Number
SW006012
Description
C COMPILER FOR DSPIC30F FAMILY
Manufacturer
Microchip Technology
Type
MPLAB® C30 Compilerr
Series
PIC24 & DsPICr
Datasheets

Specifications of SW006012

Supported Families
PIC24, DsPIC30F And DsPIC33F
Core Architecture
PIC, DsPIC
Kit Contents
Software And Docs
Mcu Supported Families
PIC24 MCUs And DsPIC DSCs
Tool Type
Compiler
Processor Series
PIC24, dsPIC
Lead Free Status / RoHS Status
Not applicable / Not applicable
For Use With/related Products
dsPIC30F
Lead Free Status / Rohs Status
Lead free / RoHS Compliant
© 2007 Microchip Technology Inc.
TABLE 3-15:
-fcall-saved-reg
-fcall-used-reg
-ffixed-reg
-finstrument-
-fno-ident
functions
Option
CODE GENERATION CONVENTION OPTIONS (CONTINUED)
Treat the register named reg as an allocatable register saved by
functions. It may be allocated even for temporaries or variables
that live across a call. Functions compiled this way will save and
restore the register reg if they use it.
It is an error to used this flag with the Frame Pointer or Stack
Pointer. Use of this flag for other registers that have fixed perva-
sive roles in the machine’s execution model will produce disas-
trous results.
A different sort of disaster will result from the use of this flag for a
register in which function values may be returned.
This flag should be used consistently through all modules.
Treat the register named reg as an allocatable register that is
clobbered by function calls. It may be allocated for temporaries or
variables that do not live across a call. Functions compiled this way
will not save and restore the register reg.
It is an error to use this flag with the Frame Pointer or Stack
Pointer. Use of this flag for other registers that have fixed perva-
sive roles in the machine’s execution model will produce disas-
trous results.
This flag should be used consistently through all modules.
Treat the register named reg as a fixed register; generated code
should never refer to it (except perhaps as a Stack Pointer, Frame
Pointer or in some other fixed role).
reg must be the name of a register, e.g., -ffixed-w3.
Generate instrumentation calls for entry and exit to functions. Just
after function entry and just before function exit, the following
profiling functions will be called with the address of the current
function and its call site.
void
void
The first argument is the address of the start of the current
function, which may be looked up exactly in the symbol table.
The profiling functions should be provided by the user.
Function instrumentation requires the use of a Frame Pointer.
Some optimization levels disable the use of the Frame Pointer.
Using -fno-omit-frame-pointer will prevent this.
This instrumentation is also done for functions expanded inline in
other functions. The profiling calls will indicate where, conceptu-
ally, the inline function is entered and exited. This means that
addressable versions of such functions must be available. If all
your uses of a function are expanded inline, this may mean an
additional expansion of code size. If you use extern inline in
your C code, an addressable version of such functions must be
provided.
A function may be given the attribute
no_instrument_function, in which case this instrumentation
will not be done.
Ignore the #ident directive.
(void *this_fn, void *call_site);
(void *this_fn, void *call_site);
Using MPLAB C30 C Compiler
__
__
cyg_profile_func_enter
cyg_profile_func_exit
Definition
DS51284F-page 57

Related parts for SW006012