gcc 3.4.4 optimization problem (was Re: Negative stats from rsync with 20050610 snapshot)
Gerrit P. Haase
Sun Jun 12 09:33:00 GMT 2005
Corinna Vinschen wrote:
> On Jun 11 18:53, Gerrit P. Haase wrote:
>>Corinna Vinschen wrote:
>>>Otherwise, do you know by any chance, if there exists some fix for that
>>>problem? The above kludge is almost a year old, so there's a chance
>>>that somebody already found the fix.
>>Where we had a problem was with -fschedule-insns2
> Oh, right.
>>Regarding unit-at-a-time I cannot remember right now if there was
>>discussion, there are known issues with this option, anyway I will
>>apply your kludge since I have not much time, I'm on a business trip
>>the next two weeks.
> I'm wondering if we should do that or not. I'm not a gcc person, so I'm
> not exactly the right one to make such a decision. It's just interesting
> that the strict-aliasing problem Chris found, is no problem in gcc 4
> anymore, apparently.
I just turn off defaulting to unit-at-a-time when you specify -O2.
You may always specify -funit-at-a-time to see if code compiles ok
with this flag.
According to the introduction of the 3.4.4 optimization docs, this
flag is optional anyway:
"Using the -funit-at-a-time flag will allow the compiler to consider
information gained from later functions in the file when compiling a
function. Compiling multiple files at once to a single output file
(and using -funit-at-a-time) will allow the compiler to use
information gained from all of the files when compiling each of
Where in 4.0.0 is explictly stated even in the introduction that it is
defaulty for -O2 and above:
"The compiler performs optimization based on the knowledge it has of the
program. Optimization levels -O2 and above, in particular, enable
unit-at-a-time mode, which allows the compiler to consider information
gained from later functions in the file when compiling a function.
Compiling multiple files at once to a single output file in
unit-at-a-time mode allows the compiler to use information gained from
all of the files when compiling each of them."
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
More information about the Cygwin