This is the mail archive of the gcc@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: undocumented optimization options


Richard Guenther wrote:

> For options that are not enabled by default at any -O level the documentation
> should be a help for the user to decide whether to enable or not enable it.
> So, yes, if there are non-standard terms used or if there are not obvious
> side-effects (like performing function versioning for ipa-cp) those should be
> documented.
> 
> For example googling for "interprocedural constant propagation" gives you
> an idea what it does by citing papers.  Googling for "matrix flattening
> transposing" instead gives you only patches ;)

To echo Richard: this is a user manual, so we don't need to say exactly
what the option does, but we have to say when you should use it. :-)  In
other words, we certainly don't want to say anything about SSA names or
whatever, but we do want to explain what it's for.  For interprocedural
constant propagation, maybe something like:

==
This optimization analyzes the program to determine when values passed
to, or return from, functions are constants and then optimizes
accordingly.  This optimization can substantially increase performance
if the application has lots of functions that return constants, but,
because this optimization can create multiple copies of code fragments,
it may significantly increase code size.
==

-- 
Mark Mitchell
CodeSourcery
mark@codesourcery.com
(650) 331-3385 x713


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