On Wed, Mar 07, 2012 at 09:52:51AM +0000, Richard Sandiford wrote:
> This patch restores x86_64-linux-gnu bootstrap after my patch for 52372.
> Applied as obvious.
>
> Sorry for the breakage.
Was it really necessary to move these out of the global rtx array?
Now you completely unnecessarily have 4 new GTY roots with all the overhead
it has. Wouldn't just moving their initialization elsewhere be sufficient?
> gcc/
> PR middle-end/52515
> * rtl.h (pc_rtx, cc0_rtx, ret_rtx, simple_return_rtx): Add GTY markers.
>
> Index: gcc/rtl.h
> ===================================================================
> --- gcc/rtl.h 2012-03-07 09:49:12.000000000 +0000
> +++ gcc/rtl.h 2012-03-07 09:49:12.878790539 +0000
> @@ -2089,10 +2089,10 @@ #define CONST1_RTX(MODE) (const_tiny_rtx
> #define CONST2_RTX(MODE) (const_tiny_rtx[2][(int) (MODE)])
> #define CONSTM1_RTX(MODE) (const_tiny_rtx[3][(int) (MODE)])
>
> -extern rtx pc_rtx;
> -extern rtx cc0_rtx;
> -extern rtx ret_rtx;
> -extern rtx simple_return_rtx;
> +extern GTY(()) rtx pc_rtx;
> +extern GTY(()) rtx cc0_rtx;
> +extern GTY(()) rtx ret_rtx;
> +extern GTY(()) rtx simple_return_rtx;
>
> /* If HARD_FRAME_POINTER_REGNUM is defined, then a special dummy reg
> is used to represent the frame pointer. This is because the
Jakub