From: hjl Date: Fri, 10 Oct 2008 23:28:05 +0000 (+0000) Subject: 2008-10-10 H.J. Lu X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5a8213013bc26400605b09ba271c861a596032fe;p=thirdparty%2Fgcc.git 2008-10-10 H.J. Lu PR debug/37002 * dwarf2out.c (mem_loc_descriptor): Use DRAP for vDRAP which has been optimized out. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141049 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c3c59084ee59..2bc2367e71e0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2008-10-10 H.J. Lu + + PR debug/37002 + * dwarf2out.c (mem_loc_descriptor): Use DRAP for vDRAP which + has been optimized out. + 2008-10-10 Richard Sandiford * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Test PIC_ADDR_P diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index ed4d74d0e518..614871ed917e 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -10008,6 +10008,16 @@ mem_loc_descriptor (rtx rtl, enum machine_mode mode, distinction between OP_REG and OP_BASEREG. */ if (REGNO (rtl) < FIRST_PSEUDO_REGISTER) mem_loc_result = based_loc_descr (rtl, 0, VAR_INIT_STATUS_INITIALIZED); + else if (stack_realign_drap + && crtl->drap_reg + && crtl->args.internal_arg_pointer == rtl + && REGNO (crtl->drap_reg) < FIRST_PSEUDO_REGISTER) + { + /* If RTL is internal_arg_pointer, which has been optimized + out, use DRAP instead. */ + mem_loc_result = based_loc_descr (crtl->drap_reg, 0, + VAR_INIT_STATUS_INITIALIZED); + } break; case MEM: