SW006015 Microchip Technology, SW006015 Datasheet - Page 35

C COMPILER MPLAB C32

SW006015

Manufacturer Part Number
SW006015
Description
C COMPILER MPLAB C32
Manufacturer
Microchip Technology
Type
Compilerr
Series
PIC32r
Datasheets

Specifications of SW006015

Supported Families
PIC32MX5, MX6, And MX7
Core Architecture
PIC
Kit Contents
Software And Docs
Mcu Supported Families
PIC32 MCUs
Tool Function
Compiler
Supported Devices
PIC32 MCUs
Tool Type
Compiler
Processor Series
PIC32
Lead Free Status / RoHS Status
Not applicable / Not applicable
For Use With/related Products
PIC32
Lead Free Status / Rohs Status
Lead free / RoHS Compliant
© 2007 Microchip Technology Inc.
Options of the form -fflag specify machine-independent flags. Most flags have both
positive and negative forms. The negative form of -ffoo would be -fno-foo. In the
table below, only one of the forms is listed (the one that is not the default.)
TABLE 1-10:
-fforce-mem
-finline-functions
-finline-limit=n
-fkeep-inline-functions
-fkeep-static-consts
-fno-function-cse
Option
MACHINE-INDEPENDENT OPTIMIZATION OPTIONS
Force memory operands to be copied into registers
before doing arithmetic on them. This produces better
code by making all memory references potential common
subexpressions. When they are not common
subexpressions, instruction combination should eliminate
the separate register-load. The -O2 option turns on this
option.
Integrate all simple functions into their callers. The
compiler heuristically decides which functions are simple
enough to be worth integrating in this way. If all calls to a
given function are integrated, and the function is declared
static, then the function is normally not output as
assembler code in its own right.
By default, MPLAB C32 C compiler limits the size of
functions that can be inlined. This flag allows the control
of this limit for functions that are explicitly marked as
inline (i.e., marked with the inline keyword). n is the
size of functions that can be inlined in number of pseudo
instructions (not counting parameter handling). The
default value of n is 10000. Increasing this value can
result in more inlined code at the cost of compilation time
and memory consumption.
Decreasing usually makes the compilation faster and less
code is inlined (which presumably means slower
programs). This option is particularly useful for programs
that use inlining.
Note: Pseudo instruction represents, in this particular
context, an abstract measurement of function's size. In no
way does it represent a count of assembly instructions
and as such, its exact meaning might change from one
release of the compiler to an another.
Even if all calls to a given function are integrated, and the
function is declared static, output a separate runtime
callable version of the function. This switch does not
affect extern inline functions.
Emit variables declared static const when optimization
isn't turned on, even if the variables are not referenced.
MPLAB C32 C compiler enables this option by default. If
you want to force the compiler to check if the variable was
referenced, regardless of whether or not optimization is
turned on, use the -fno-keep-static-consts option.
Do not put function addresses in registers. Make each
instruction that calls a constant function contain the
function's address explicitly.
This option results in less efficient code, but some
strange hacks that alter the assembler output may be
confused by the optimizations performed when this option
is not used.
Definition
DS51686A-page 31

Related parts for SW006015