[gfortran,patch] Inline remaining allocation/deallocation routines
Richard Guenther
richard.guenther@gmail.com
Tue Aug 28 13:47:00 GMT 2007
On 8/28/07, François-Xavier Coudert <fxcoudert@gmail.com> wrote:
> > By the way, somehow the middle end fails to optimize away the "if(a.data
> > != NULL)" branch although the variable has been initialized to NULL
> > before. With my little C program it works (even w/o using the "restrict"
> > attribute). We should fill a middle end PR when this is checked in.
I guess that 'a' is a global? (Do you have a fortran testcase that shows this?)
> Probably because we call a function with a pointer to a somewhere
> (I/O?) which cannot lead to modification according to Fortran rules,
> but we don't correctly give this information to the middle-end. There
> are several such missed-optimizations throughout the front-end, I
> think.
Zdenek posted a patch with infrastructure to support this more easily, but it
didn't get approved yet.
Richard.
More information about the Fortran
mailing list