public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Martin Sebor <msebor@gmail.com>
To: Joseph Myers <joseph@codesourcery.com>
Cc: Alexander Monakov <amonakov@ispras.ru>,
	 Gcc Patch List <gcc-patches@gcc.gnu.org>
Subject: Re: [PATCH] clarify documentation of -Q --help=optimizers
Date: Thu, 05 Nov 2015 17:47:00 -0000	[thread overview]
Message-ID: <563B960E.20508@gmail.com> (raw)
In-Reply-To: <alpine.DEB.2.10.1511051707030.26133@digraph.polyomino.org.uk>

On 11/05/2015 10:10 AM, Joseph Myers wrote:
> On Thu, 5 Nov 2015, Martin Sebor wrote:
>
>> optimiziation. We seem to have consensus that even though there
>> might be exceptions (do we know what some of them are?) the vast
>> majority optimizations that have -fxxx options are in fact not
>> performed at -O0. I think reflecting that in the output is more
>> helpful than implying otherwise.
>
> There are several options marked Optimization that are actually matters of
> language semantics that I don't think have anything to do with -O options,
> e.g. -fexceptions and -fcx-limited-range.  The Optimization tag really
> just means that it's saved and restored under certain circumstances.

Both -fexceptions and -fcx-limited-range are reported as disabled
at -O0, so they're not the examples I'm looking for. The set of
options that are reported as disabled by -O0 with the patched GCC
and that, IIUC, are of concern (i.e., that may not need -O to take
effect) are a subset of those below.

Quickly scanning the list, I would guess -frtti, -fshort-enums,
-fsigned-zeros, and -frtapping-math should be in that category,
but there could very well be others.

If it's relatively straightforward to enumerate all such options
then maybe the way to go is to add a bit to struct cl_option to
make it possible to distinguish them from the others in the -O0
-Q --help=optimizers output.

Thanks
Martin

   -faggressive-loop-optimizations 	[disabled by -O0]
   -fasynchronous-unwind-tables 		[disabled by -O0]
   -fauto-inc-dec              		[disabled by -O0]
   -fdce                       		[disabled by -O0]
   -fdelete-null-pointer-checks 		[disabled by -O0]
   -fdse                       		[disabled by -O0]
   -fearly-inlining            		[disabled by -O0]
   -ffunction-cse              		[disabled by -O0]
   -fgcse-lm                   		[disabled by -O0]
   -finline                    		[disabled by -O0]
   -finline-atomics            		[disabled by -O0]
   -fira-hoist-pressure        		[disabled by -O0]
   -fira-share-save-slots      		[disabled by -O0]
   -fira-share-spill-slots     		[disabled by -O0]
   -fivopts                    		[disabled by -O0]
   -fjump-tables               		[disabled by -O0]
   -flifetime-dse              		[disabled by -O0]
   -fmath-errno                		[disabled by -O0]
   -fpeephole                  		[disabled by -O0]
   -fplt                       		[disabled by -O0]
   -fprefetch-loop-arrays      		[disabled by -O0]
   -frename-registers          		[disabled by -O0]
   -frtti                      		[disabled by -O0]
   -fsched-critical-path-heuristic 	[disabled by -O0]
   -fsched-dep-count-heuristic 		[disabled by -O0]
   -fsched-group-heuristic     		[disabled by -O0]
   -fsched-interblock          		[disabled by -O0]
   -fsched-last-insn-heuristic 		[disabled by -O0]
   -fsched-rank-heuristic      		[disabled by -O0]
   -fsched-spec                		[disabled by -O0]
   -fsched-spec-insn-heuristic 		[disabled by -O0]
   -fsched-stalled-insns-dep   		[disabled by -O0]
   -fschedule-fusion           		[disabled by -O0]
   -fshort-enums               		[disabled by -O0]
   -fsigned-zeros              		[disabled by -O0]
   -fsplit-ivs-in-unroller     		[disabled by -O0]
   -fssa-backprop              		[disabled by -O0]
   -fstdarg-opt                		[disabled by -O0]
   -fstrict-volatile-bitfields 		[disabled by -O0]
   -fno-threadsafe-statics     		[disabled by -O0]
   -ftrapping-math             		[disabled by -O0]
   -ftree-cselim               		[disabled by -O0]
   -ftree-forwprop             		[disabled by -O0]
   -ftree-loop-if-convert      		[disabled by -O0]
   -ftree-loop-im              		[disabled by -O0]
   -ftree-loop-ivcanon         		[disabled by -O0]
   -ftree-loop-optimize        		[disabled by -O0]
   -ftree-phiprop              		[disabled by -O0]
   -ftree-reassoc              		[disabled by -O0]
   -ftree-scev-cprop           		[disabled by -O0]
   -fvar-tracking              		[disabled by -O0]
   -fvar-tracking-assignments  		[disabled by -O0]
   -fweb                       		[disabled by -O0]

  reply	other threads:[~2015-11-05 17:47 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <56299713.6040204@gmail.com>
2015-10-23  3:56 ` Martin Sebor
2015-11-02 21:48   ` [PING] " Martin Sebor
2015-11-03 10:19   ` Alexander Monakov
2015-11-04 23:52     ` Martin Sebor
2015-11-05  0:54       ` Joseph Myers
2015-11-05 10:48         ` Alexander Monakov
2015-11-05 15:58           ` Martin Sebor
2015-11-05 17:09             ` Segher Boessenkool
2015-11-05 21:04               ` Martin Sebor
2015-11-05 23:30                 ` Segher Boessenkool
2015-11-06  1:25                   ` Martin Sebor
2015-11-05 17:11             ` Joseph Myers
2015-11-05 17:47               ` Martin Sebor [this message]
2015-11-05 18:07                 ` Joseph Myers
2015-11-05 18:45                   ` Martin Sebor
2015-11-05 18:47                     ` Joseph Myers
2015-11-05  1:09       ` Sandra Loosemore
2015-11-05  2:40         ` Martin Sebor

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=563B960E.20508@gmail.com \
    --to=msebor@gmail.com \
    --cc=amonakov@ispras.ru \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=joseph@codesourcery.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).