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]

flow.c:initialize_uninitialized_subregs


On Thu, Dec 06, 2001 at 10:08:27PM +1030, Alan Modra wrote:
> This bombs with "unrecognizable insn".  Seems to me that i_u_s is
> failing at its purpose according to the ChangeLog, and that
> find_regno_partial needs to dig a little deeper or something.
> 
> Possibly like this (untested as yet) patch:

Yes, that did the trick.  rtl now looks like it's doing what was
intended, and powerpc-linux bootstrap restored.

OK to apply?

> 	* flow.c (find_regno_partial): Return the reg rtx within the
> 	partial reg rtx.
> 
> --- gcc/flow.c~	Wed Dec  5 14:35:03 2001
> +++ gcc/flow.c	Thu Dec  6 21:57:37 2001
> @@ -1327,7 +1327,7 @@ find_regno_partial (ptr, data)
>        case STRICT_LOW_PART:
>          if (GET_CODE (XEXP (*ptr, 0)) == REG && REGNO (XEXP (*ptr, 0)) == reg)
>  	  {
> -	    param->retval = *ptr;
> +	    param->retval = XEXP (*ptr, 0);
>  	    return 1;
>  	  }
>  	break;
> @@ -1336,7 +1336,7 @@ find_regno_partial (ptr, data)
>          if (GET_CODE (SUBREG_REG (*ptr)) == REG 
>  	    && REGNO (SUBREG_REG (*ptr)) == reg)
>  	  {
> -	    param->retval = *ptr;
> +	    param->retval = SUBREG_REG (*ptr);
>  	    return 1;
>  	  }
>  	break;
> 


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