This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: GCC 4.4 changes page needs updating


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>

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]