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: Vladimir Makarov <vmakarov at redhat dot com>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>, gcc-patches at gcc dot gnu dot org
- Date: Wed, 27 Nov 2013 18:38:48 -0500
- 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>
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.