This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fix IA-64 bootstrap failure


> On Fri, Jan 30, 2004 at 02:49:44PM +0100, Jan Hubicka wrote:
> > *** alias.c	22 Jan 2004 11:35:58 -0000	1.212
> > --- alias.c	30 Jan 2004 13:47:08 -0000
> > *************** rtx_equal_for_memref_p (rtx x, rtx y)
> > *** 1139,1147 ****
> >     /* Some RTL can be compared without a recursive examination.  */
> >     switch (code)
> >       {
> > -     case VALUE:
> > -       return CSELIB_VAL_PTR (x) == CSELIB_VAL_PTR (y);
> > - 
> >       case REG:
> >         return REGNO (x) == REGNO (y);
> >   
> > --- 1139,1144 ----
> 
> Isn't it better to replace this with
> 	case VALUE:
> 	  return 0;
> , assuming VALUEs show up often?  Without that it will take some time
> till it returns 0.  CONST_DOUBLE/CONST_INT are handled the same way,
> so just adding case VALUE: above it could DTRT.
> Of course, if VALUEs show up only rarely in rtx_equal_for_memref_p,
> your patch is fine.

It can be good idea.  I didn't seen rtx_equal_for_memref_p top in the
profiles, but cselib produce value RTX in about each MEM.
I will fix it in my local copy of patch.

Honza
> 
> 	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]