gcc 3.4.4 optimization problem (was Re: Negative stats from rsync with 20050610 snapshot)

Gerrit P. Haase gerrit@familiehaase.de
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
>>(flag_schedule_insns_after_reload):
> 
> 
> 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
  them."

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."


Gerrit
-- 
=^..^=

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list