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.