Date: Mon, 15 Mar 1999 16:43:24 +0100 To: pgcc AT delorie DOT com Subject: Re: AMDK6 optimized kernel and others Message-ID: <19990315164324.I971@cerebro.laendle> Mail-Followup-To: pgcc AT delorie DOT com References: <19990312173530 DOT E18971 AT cerebro DOT laendle> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: ; from Michael Hanke on Mon, Mar 15, 1999 at 10:58:26AM +0100 X-Operating-System: Linux version 2.2.3 (root AT cerebro) (gcc driver version pgcc-2.93.09 19990221 (gcc2 ss-980929 experimental) executing gcc version 2.7.2.3) From: Marc Lehmann Reply-To: pgcc AT delorie DOT com X-Mailing-List: pgcc AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Mon, Mar 15, 1999 at 10:58:26AM +0100, Michael Hanke wrote: > insist. I wrote certain qt applications. Certain redraw events in a > list window take lots of time (no IO). The delay is impressing > concerning raw athena widgets (which I am using alternatively). So I > think that optimization can be essential. > > Michael > > PS. My last remark is probably not correctly placed on this list: > Opposed to C, f77 contains a lot of context information which can be > used in order to speed up programs. > As far as I know, Fortran optimization belongs to the best investigated > issues. This is true, but what is much more important is that fortran programs (f77 ones, that is) can be optimized much more aggressively than C programs. The f90 standard was very sensible to this issue, so, while f90 does contain "pointers" (the greatest obstacle to alias analysis), there definition still allows agressive optimizations. > Does g77/pg77 use any of these techniques? M. The frontend does not. But the backend (which is language independent) does this (not very good yet, as the backend comes from a C compiler, and alias analysis is a relatively new part in egcs), but the fortran frontend specifies the necessary alias information to make (some) f77 programs compile better than similes written in C. The compiler does not yet do vectorization and other magic. It also does not do (much) interprocedural analysis. The various language frontends currently do some optimizations on their own, but this is highly language specific and does not cover generic optimization techniques. These issues are not fortran specific either, so the c and fortran frontends will both be improved when the backend is improved. The difference is that c programs might not be optimized as well by new optimizations. -- -----==- | ----==-- _ | ---==---(_)__ __ ____ __ Marc Lehmann +-- --==---/ / _ \/ // /\ \/ / pcg AT goof DOT com |e| -=====/_/_//_/\_,_/ /_/\_\ XX11-RIPE --+ The choice of a GNU generation | |