This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]