possible gcse failure: not able to eliminate redundant loads

Toon Moene toon@moene.indiv.nluug.nl
Mon Dec 16 14:44:00 GMT 2002


Richard Henderson wrote:

> On Mon, Dec 16, 2002 at 10:04:01PM +0100, Toon Moene wrote:
> 
>>BTW, I wasn't aware it's legal to dereference NULL C pointers.

> It isn't, of course.  But that's the whole point.  You've
> got code that says
> 
> 	x = (condition ? *p : 0);
> 
> i.e. the dereference is protected by a conditional.  Thus
> we can't hoist the dereference past the conditional (and
> thence out of the loop that started this thread).

Oh, Fortran is sooooo much easier in this respect than [some other 
languages].  Of course you can [syntactically] express "dereferencing" a 
invalid pointer in Fortran 90/95.  That doesn't mean the resulting 
program has to do something meaningful, however [could start WW III and 
all that]

-- 
Toon Moene - mailto:toon@moene.indiv.nluug.nl - phoneto: +31 346 214290
Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands
Maintainer, GNU Fortran 77: http://gcc.gnu.org/onlinedocs/g77_news.html
Join GNU Fortran 95: http://g95.sourceforge.net/ (under construction)



More information about the Gcc mailing list