This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: GCC 4.4 changes page needs updating
- From: Ian Lance Taylor <iant at google dot com>
- To: Steven Bosscher <stevenb dot gcc at gmail dot com>
- Cc: gcc-patches at gcc dot gnu dot org, Xinliang David Li <davidxl at google dot com>, spark at google dot com
- Date: Wed, 25 Mar 2009 07:51:41 -0700
- Subject: Re: GCC 4.4 changes page needs updating
- References: <571f6b510903210606h1ca99acfxe1c8d130e985941b@mail.gmail.com>
Steven Bosscher <stevenb.gcc@gmail.com> writes:
> * -ftree-builtin-call-dce
>
> * -fconserve-stack
>
> * Profile driven opts improvements (-fprofile-dir=, -fprofile-correction,
>
> * Other new flags: -fconserve-stack, -fcx-fortran-rules, -fdwarf2-cfi-asm,
>
> * New warnings: -Wdisallowed-function-list=, -Wframe-larger-than=,
> -Wmudflap, -Wtype-limits,
Thanks for pointing these out.
I propose this patch to document most of these new options. OK to
commit?
I did not include -fcx-fortran-rules as I don't understand it. I did
not include -Wtype-limits as it was present in gcc 4.3.
Ian
Index: gcc-4.4/changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.4/changes.html,v
retrieving revision 1.60
diff -u -r1.60 changes.html
--- gcc-4.4/changes.html 24 Mar 2009 22:48:42 -0000 1.60
+++ gcc-4.4/changes.html 25 Mar 2009 14:50:09 -0000
@@ -136,6 +136,25 @@
the parameter <code>--param switch-conversion-max-branch-ratio</code>
(default is eight). </li>
+ <li>A new command-line switch <code>-ftree-builtin-call-dce</code>
+ has been added. This optimization eliminates unnecessary calls
+ to certain builtin functions when the return value is not used,
+ in cases where the calls can not be eliminated entirely because
+ the function may set <code>errno</code>. This optimization is
+ on by default at <code>-O2</code>.</li>
+
+ <li>A new command-line switch <code>-fconserve-stack</code>
+ directs the compiler to minimize stack usage even if it makes
+ the generated code slower. This affects inlining
+ decisions.</li>
+
+ <li>When the assembler supports it, the compiler will now emit
+ unwind information using assembler <code>.cfi</code> directives.
+ This makes it possible to use such directives in inline
+ assembler code. The new option <code>-fno-dwarf2-cfi-asm</code>
+ directs the compiler to not use <code>.cfi</code>
+ directives.</li>
+
<li><p>The <a href="http://gcc.gnu.org/wiki/Graphite">Graphite</a>
branch has been merged. This merge has brought in a new
framework for loop optimizations based on a polyhedral
@@ -226,6 +245,42 @@
register allocator. More info about IRA internals and options
can be found in the GCC manuals.
</li>
+
+ <li>When using <code>-fprofile-generate</code> with a
+ multi-threaded program, the profile counts may be slightly wrong
+ due to race conditions. The
+ new <code>-fprofile-correction</code> option directs the
+ compiler to apply heuristics to smooth out the inconsistencies.
+ By default the compiler will give an error message when it finds
+ an inconsistent profile.</li>
+
+ <li>The new <code>-fprofile-dir=PATH</code> option permits setting
+ the directory where profile data files are stored when
+ using <code>-fprofile-generate</code> and friends, and the
+ directory used when reading profile data files
+ using <code>-fprofile-use</code> and friends.</li>
+
+ </ul>
+
+<h2>New warning options</h2>
+ <ul>
+
+ <li>The
+ new <code>-Wdisallowed-function-list=FUNCTION,FUNCTION</code>
+ option directs GCC to issue a warning if it sees a call to any
+ of the listed functions. This may be used to enforce coding
+ conventions that ban calls to certain functions, such
+ as <code>malloc</code>.</li>
+
+ <li>The new <code>-Wframe-larger-than=NUMBER</code> option directs
+ GCC to emit a warning if any stack frame is larger
+ than <code>NUMBER</code>. This may be used to help ensure that
+ code fits within a limited amount of stack space.</li>
+
+ <li>The new <code>-Wno-mudflap</code> option disables warnings
+ about constructs which can not be instrumented when
+ using <code>-fmudflap</code>.</li>
+
</ul>
<h2>New Languages and Language specific improvements</h2>