Next: 3.2.9 Other Options
Up: 3.2 Command Line Options
Previous: 3.2.7 GBZ80 Options
Contents
Index
3.2.8 Optimization Options
- [--nogcse] Will not do global subexpression
elimination, this option may be used when the compiler creates undesirably
large stack/data spaces to store compiler temporaries (spill
locations, sloc). A warning message
will be generated when this happens and the compiler will indicate
the number of extra bytes it allocated. It is recommended that this
option NOT be used, #pragma nogcse can be
used to turn off global subexpression elimination
for a given function only.
- [--noinvariant] Will not do
loop invariant optimizations, this may be turned off for reasons explained
for the previous option. For more details of loop optimizations performed
see Loop Invariants in section 8.1.4. It is
recommended that this option NOT be used, #pragma noinvariant
can be used to turn off invariant optimizations for a given function
only.
- [--noinduction] Will not do
loop induction optimizations, see section strength reduction for more
details. It is recommended that this option is NOT used, #pragma noinduction
can be used to turn off induction optimizations for a given function
only.
- [--nojtbound] Will not generate
boundary condition check when switch statements
are implemented using jump-tables. See section 8.1.7 Switch
Statements for more details. It is recommended that this option is
NOT used, #pragma nojtbound can be used
to turn off boundary checking for jump tables for a given function
only.
- [--noloopreverse] Will not
do loop reversal optimization.
- [--nolabelopt] Will not optimize
labels (makes the dumpfiles more readable).
- [--no-xinit-opt] Will not
memcpy initialized data from code space into xdata space. This saves
a few bytes in code space if you don't have initialized data.
- [--nooverlay] The compiler will
not overlay parameters and local variables of any function, see section
Parameters and local variables for more details.
- [--no-peep] Disable peep-hole optimization
with built-in rules.
- [--peep-file <filename>] This
option can be used to use additional rules to be used by the peep
hole optimizer. See section 8.1.13 Peep Hole
optimizations for details on how to write these rules.
- [--peep-asm] Pass the inline assembler
code through the peep hole optimizer. This can cause unexpected changes
to inline assembler code, please go through the peephole optimizer
rules defined in the source file tree '<target>/peeph.def' before
using this option.
- [--opt-code-speed] The compiler
will optimize code generation towards fast code, possibly at the expense
of code size.
- [--opt-code-size] The compiler
will optimize code generation towards compact code, possibly at the
expense of code speed.
Next: 3.2.9 Other Options
Up: 3.2 Command Line Options
Previous: 3.2.7 GBZ80 Options
Contents
Index
2008-12-05