delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2005/06/12/05:33:12

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Date: Sun, 12 Jun 2005 11:33:08 +0200
From: Corinna Vinschen <corinna-cygwin AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: gcc 3.4.4 optimization problem (was Re: Negative stats from rsync with 20050610 snapshot)
Message-ID: <20050612093308.GF6568@calimero.vinschen.de>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <42AA611A DOT 2050605 AT acm DOT org> <20050611145713 DOT GA11065 AT calimero DOT vinschen DOT de> <42AB16FA DOT 4000701 AT familiehaase DOT de> <20050612082206 DOT GB6568 AT calimero DOT vinschen DOT de> <42ABFED3 DOT 5030009 AT familiehaase DOT de>
Mime-Version: 1.0
In-Reply-To: <42ABFED3.5030009@familiehaase.de>
User-Agent: Mutt/1.4.2i

On Jun 12 11:22, Gerrit P. Haase wrote:
> Corinna Vinschen wrote:
> >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."

I see.  It seems the 3.4.x code is just assuming a bit too much when
examining functions, whereas the 4.x implementation is a bit more careful.


Thanks,
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          mailto:cygwin AT cygwin DOT com
Red Hat, Inc.

--
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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019