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.
- [--peep-return] Let
the peep hole optimizer do return optimizations. This is the default
without --debug.
- [--no-peep-return] Do
not let the peep hole optimizer do return optimizations. This is the
default with --debug.
- [--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.
- [--fomit-frame-pointer] Frame
pointer will be omitted when the function uses no local variables.
Next: 3.2.9 Other Options
Up: 3.2 Command Line Options
Previous: 3.2.7 GBZ80 Options
Contents
Index
2013-01-09