Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > e677bbbdff6d27fe001f15e0ef2bb4cc > files > 216

sdcc-3.0.0-0.fc14.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

<!--Converted with LaTeX2HTML 2008 (1.71)
original version by:  Nikos Drakos, CBLU, University of Leeds
* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>3.2.8 Optimization Options</TITLE>
<META NAME="description" CONTENT="3.2.8 Optimization Options">
<META NAME="keywords" CONTENT="sdccman">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">

<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

<LINK REL="STYLESHEET" HREF="sdccman.css">

<LINK REL="next" HREF="node54.html">
<LINK REL="previous" HREF="node52.html">
<LINK REL="up" HREF="node45.html">
<LINK REL="next" HREF="node54.html">
</HEAD>

<BODY >
<!--Navigation Panel-->
<A NAME="tex2html1460"
  HREF="node54.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
<A NAME="tex2html1454"
  HREF="node45.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
<A NAME="tex2html1448"
  HREF="node52.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> 
<A NAME="tex2html1456"
  HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> 
<A NAME="tex2html1458"
  HREF="node191.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A> 
<BR>
<B> Next:</B> <A NAME="tex2html1461"
  HREF="node54.html">3.2.9 Other Options</A>
<B> Up:</B> <A NAME="tex2html1455"
  HREF="node45.html">3.2 Command Line Options</A>
<B> Previous:</B> <A NAME="tex2html1449"
  HREF="node52.html">3.2.7 GBZ80 Options</A>
 &nbsp; <B>  <A NAME="tex2html1457"
  HREF="node1.html">Contents</A></B> 
 &nbsp; <B>  <A NAME="tex2html1459"
  HREF="node191.html">Index</A></B> 
<BR>
<BR>
<!--End of Navigation Panel-->

<H2><A NAME="SECTION00428000000000000000"></A><A NAME="1049"></A><A NAME="1050"></A>
<BR>
3.2.8 Optimization Options
</H2>

<UL>
<LI>[<B>--nogcse<A NAME="1053"></A></B>] Will not do
global subexpression elimination, this option may be used when the
compiler creates undesirably large stack/data spaces to store compiler
temporaries (<I>s</I>pill <I>loc</I>ations, sloc<A NAME="1056"></A>).
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&nbsp;nogcse<A NAME="1057"></A>
can be used to turn off global subexpression elimination<A NAME="1058"></A>
for a given function only.
</LI>
<LI>[<B>--noinvariant<A NAME="1059"></A></B>] 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 <A HREF="node173.html#sub:Loop-Optimizations">8.1.4</A>.
It is recommended that this option NOT be used, #pragma&nbsp;noinvariant<A NAME="1061"></A>
can be used to turn off invariant optimizations for a given function
only.
</LI>
<LI>[<B>--noinduction<A NAME="1062"></A></B>] Will
not do loop induction optimizations, see section strength reduction
for more details. It is recommended that this option is NOT used,
#pragma&nbsp;noinduction<A NAME="1063"></A>
can be used to turn off induction optimizations for a given function
only.
</LI>
<LI>[<B>--nojtbound<A NAME="1064"></A></B>]  Will
not generate boundary condition check when switch statements<A NAME="1065"></A>
are implemented using jump-tables. See section <A HREF="node176.html#sub:_switch_-Statements">8.1.7</A>&nbsp;Switch
Statements for more details. It is recommended that this option is
NOT used, #pragma&nbsp;nojtbound<A NAME="1067"></A>
can be used to turn off boundary checking for jump tables for a given
function only.
</LI>
<LI>[<B>--noloopreverse<A NAME="1068"></A></B>] Will
not do loop reversal <A NAME="1069"></A>optimization.
</LI>
<LI>[--<B>nolabelopt</B>] <A NAME="1071"></A>Will
not optimize labels (makes the dumpfiles more readable).
</LI>
<LI>[<B>--no-xinit-opt<A NAME="1072"></A></B>] 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<A NAME="1073"></A>.
</LI>
<LI>[<B>--nooverlay<A NAME="1074"></A></B>]  The
compiler will not overlay parameters and local variables of any function,
see section Parameters and local variables for more details.
</LI>
<LI>[<B>--no-peep<A NAME="1075"></A></B>] Disable peep-hole
optimization with built-in rules.
</LI>
<LI>[<B>--peep-file</B><A NAME="1077"></A>&nbsp;&lt;filename&gt;] This
option can be used to use additional rules to be used by the peep
hole optimizer. See section <A HREF="node182.html#sub:Peephole-Optimizer">8.1.13</A>&nbsp;Peep Hole
optimizations for details on how to write these rules.
</LI>
<LI>[<B>--peep-asm<A NAME="1079"></A></B>] 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<A NAME="1080"></A> rules defined in the
source file tree '&lt;target&gt;/peeph.def' before using this option.
</LI>
<LI>[<B>--opt-code-speed<A NAME="1081"></A></B>] The
compiler will optimize code generation towards fast code, possibly
at the expense of code size.
</LI>
<LI>[<B>--opt-code-size<A NAME="1082"></A></B>] The
compiler will optimize code generation towards compact code, possibly
at the expense of code speed.
</LI>
</UL>
<P><P>
<BR>


<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html1460"
  HREF="node54.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
<A NAME="tex2html1454"
  HREF="node45.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
<A NAME="tex2html1448"
  HREF="node52.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> 
<A NAME="tex2html1456"
  HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> 
<A NAME="tex2html1458"
  HREF="node191.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A> 
<BR>
<B> Next:</B> <A NAME="tex2html1461"
  HREF="node54.html">3.2.9 Other Options</A>
<B> Up:</B> <A NAME="tex2html1455"
  HREF="node45.html">3.2 Command Line Options</A>
<B> Previous:</B> <A NAME="tex2html1449"
  HREF="node52.html">3.2.7 GBZ80 Options</A>
 &nbsp; <B>  <A NAME="tex2html1457"
  HREF="node1.html">Contents</A></B> 
 &nbsp; <B>  <A NAME="tex2html1459"
  HREF="node191.html">Index</A></B> 
<!--End of Navigation Panel-->
<ADDRESS>

2011-03-20
</ADDRESS>
</BODY>
</HTML>