[Patch, tentative, reload] Make push_reload work with more types of subregs?

Bernd Schmidt bschmidt@redhat.com
Tue Aug 9 12:14:00 GMT 2016


On 08/08/2016 05:26 PM, Senthil Kumar Selvaraj wrote:

> I picked out the commit where you'd added SYMBOL_REF handling (rev
> #190252), and patched that with the below code. Bootstrapped and
> regtested on x86_64-pc-linux - the results were identical with and
> without the patch. Is this good enough for trunk?

> -      else if (GET_CODE (SUBREG_REG (in)) == SYMBOL_REF)
> +      else if (GET_CODE (SUBREG_REG (in)) == SYMBOL_REF
> +               || CONSTANT_P (SUBREG_REG (in))
> +               || GET_CODE (SUBREG_REG (in)) == PLUS)
>  	subreg_in_class = find_valid_class_1 (inmode,
>  					      GET_MODE (SUBREG_REG (in)),
>  					      rclass);

Actually SYMBOL_REF should also be CONSTANT_P. For integers it looks 
like it'll pass VOIDmode to find_valid_class_1 and just return NO_REGS. 
which I suppose is OK.

Would you mind removing the SYMBOL_REF test and retesting? Ok with that 
change.


Bernd



More information about the Gcc-patches mailing list