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 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.


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