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.
Description: This is a digitally signed message part