On Mon, Dec 1, 2014 at 10:26 AM, Jeff Law <l...@redhat.com> wrote:
> On 11/26/14 15:00, Andrew Pinski wrote:
>>
>> Hi,
>>    The problem here is lra_substitute_pseudo calls gen_rtx_SUBREG with
>> a VOIDmode (const_int) argument but really it should not be calling
>> gen_rtx_SUBREG directly instead it should be using
>> gen_lowpart_if_possible.  This patch fixes that and adds a testcase
>> that had happened on x86_64.
>>
>> OK? I bootstrapped and tested this on both aarch64-linux-gnu and
>> x86_64-linux-gnu with no regression on either.
>>
>> Thanks,
>> Andrew Pinski
>>
>> ChangeLog:
>>          * lra.c (lra_substitute_pseudo): Use gen_lowpart_if_possible
>>          instead of gen_rtx_SUBREG/gen_lowpart_SUBREG.
>
> Does gen_lowpart_if_possible handle paradoxical subregs which appear to be
> what Vlad's trying to handle in the true arm of the code you're changing.
>
> What happens if gen_lowpart_if_possible returns NULL?  Worth an assert?


This change is no longer needed as Vlad fixed the issue a different way:
https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=218171

Thanks,
Andrew

>
> jeff
>

Reply via email to