This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PATCH: PR rtl-optimization/59311: [4.9 Regression] LRA fails to update REG_CFA_SET_VDRAP note
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Vladimir Makarov <vmakarov at redhat dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 27 Nov 2013 15:55:09 -0800
- Subject: Re: PATCH: PR rtl-optimization/59311: [4.9 Regression] LRA fails to update REG_CFA_SET_VDRAP note
- Authentication-results: sourceware.org; auth=none
- References: <20131127231243 dot GA11632 at intel dot com> <52968288 dot 4010403 at redhat dot com>
On Wed, Nov 27, 2013 at 3:38 PM, Vladimir Makarov <vmakarov@redhat.com> wrote:
> On 11/27/2013, 6:12 PM, H.J. Lu wrote:
>>
>> Hi,
>>
>> remove_pseudos in lra-spills.c failed to handle REG_CFA_SET_VDRAP note.
>> This patch changes spill_pseudos to handle REG_XXX notes. It also adds
>> an assert that regno passed to DWARF_FRAME_REGNUM isn't a pseudo register.
>> Tested on Linux/x86-64 with -m64 and -m32. g++.dg/cpp1y/vla-initlist1.C
>> failed with -m32 when assert in dwf_regno and passed with this patch.
>>
>> OK to install?
>>
>>
> Yes, it looks ok for me. If pseudo would have got hard register, it would
> be changed without problem in lra_final_code_change as pseudo exists in one
> exemplar and accessible through regno_reg_rtx. But in this case it gets
> memory.
>
> Thanks, H.J. Ok to commit.
>
I checked it into trunk. Does 4.8 branch have the similar
issue?
Thanks.
--
H.J.