[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: using non-standard optflags (-O3, in particular)



On Sat, 2007-02-10 at 09:29 +0100, Till Maas wrote:
> According to the gcc manpage -O3 enables only three more optimizationes 
> than -O3 does:
> 
> -finline-functions
> -funswitch-loops
> -fgcse-after-reload
> 
> Are all of them bad or is there more optimization done than is described 
> there?

From my CentOS 4 box: (gcc-3.4.6)

`-O3'
     Optimize yet more.  `-O3' turns on all optimizations specified by
     `-O2' and also turns on the `-finline-functions', `-fweb',
     `-frename-registers' and `-funswitch-loops' options.

[...]

`-frename-registers'
     Attempt to avoid false dependencies in scheduled code by making use
     of registers left over after register allocation.  This
     optimization will most benefit processors with lots of registers.
     It can, however, make debugging impossible, since variables will
     no longer stay in a "home register".

`-fweb'
     Constructs webs as commonly used for register allocation purposes
     and assign each web individual pseudo register.  This allows the
     register allocation pass to operate on pseudos directly, but also
     strengthens several other optimization passes, such as CSE, loop
     optimizer and trivial dead code remover.  It can, however, make
     debugging impossible, since variables will no longer stay in a
     "home register".

     Enabled at levels `-O3'.


gcc versions can vary widely, like I said before, did upstream perform
their performance tests on our compiler? Or at least a similar version?
Or are they still using gcc 3.4 or something even older? This is key.

Attachment: signature.asc
Description: This is a digitally signed message part


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]