GCC trunk SPEC2000 performance

Toon Moene toon@moene.indiv.nluug.nl
Thu Jun 20 13:17:00 GMT 2002


Jan Hubicka wrote:

> Hmm, obvious fix appears to be the patch attached.  I am not at all sure
> whether it is the sane fix,

> !         if (REG_POINTER (map->x_regno_reg_rtx[regno]))
===
> !         if (REG_P (map->x_regno_reg_rtx[regno])
> !             && REG_POINTER (map->x_regno_reg_rtx[regno]))

Well, I'd say _no_, it isn't a sane fix.  As the name implies, the
x_regno_reg_rtx[] member of the struct *map is a REGISTER rtx and
therefore *should* *not* be a MEM (as Janis' excellent rtl flag checking
code correctly diagnoses).

The problem is the MEM rtx in this array.  I looked into it and I
couldn't find where it was filled in incorrectly, but I assume someone
with better gdb skills than mine would be able to find the culprit.

Heard at USENIX:

"After Richard approved my patch and I applied it, the following thought 
 occurred to me: If he had said it was OK for me to jump off a cliff, 
 would I also have done it ?"

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