From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17182 invoked by alias); 12 Nov 2007 16:25:24 -0000 Received: (qmail 17023 invoked by uid 22791); 12 Nov 2007 16:25:22 -0000 X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (65.74.133.4) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 12 Nov 2007 16:25:19 +0000 Received: (qmail 19215 invoked from network); 12 Nov 2007 16:25:17 -0000 Received: from unknown (HELO ?192.168.0.2?) (mitchell@127.0.0.2) by mail.codesourcery.com with ESMTPA; 12 Nov 2007 16:25:17 -0000 Message-ID: <47387E5F.90903@codesourcery.com> Date: Mon, 12 Nov 2007 17:54:00 -0000 From: Mark Mitchell User-Agent: Thunderbird 2.0.0.6 (Windows/20070728) MIME-Version: 1.0 To: Richard Guenther CC: Razya Ladelsky , ctice@apple.com, gcc@gcc.gnu.org, gcc-patches@gcc.gnu.org, Gerald Pfeifer , Janis Johnson , stevenb.gcc@gmail.com, Kenneth Zadeck Subject: Re: undocumented optimization options References: <84fc9c000711120228v1043e0afg548e0a6cd666a7b3@mail.gmail.com> <84fc9c000711120633t38ba1312nf0d5c846e2422dd8@mail.gmail.com> In-Reply-To: <84fc9c000711120633t38ba1312nf0d5c846e2422dd8@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org X-SW-Source: 2007-11/txt/msg00317.txt.bz2 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