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]

Re: PATCH: PR rtl-optimization/59311: [4.9 Regression] LRA fails to update REG_CFA_SET_VDRAP note


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.


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