From: Hans-Peter Nilsson Date: Wed, 5 Sep 2007 23:17:50 +0000 (+0000) Subject: cris.c (cris_emit_movem_store): Call copy_rtx on parts re-used for REG_FRAME_RELATED_... X-Git-Tag: releases/gcc-4.3.0~2849 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=dfc0fb23ed22f4b6b5696f674e90a8e048d953cf;p=thirdparty%2Fgcc.git cris.c (cris_emit_movem_store): Call copy_rtx on parts re-used for REG_FRAME_RELATED_EXPR. * config/cris/cris.c (cris_emit_movem_store): Call copy_rtx on parts re-used for REG_FRAME_RELATED_EXPR. From-SVN: r128157 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 92a2ebda6ae1..068bf5545efa 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-09-06 Hans-Peter Nilsson + + * config/cris/cris.c (cris_emit_movem_store): Call copy_rtx on + parts re-used for REG_FRAME_RELATED_EXPR. + 2007-09-05 Janis Johnson * optabs.c (expand_float): Convert unsigned integer as signed only diff --git a/gcc/config/cris/cris.c b/gcc/config/cris/cris.c index 02c52b023940..563c12427424 100644 --- a/gcc/config/cris/cris.c +++ b/gcc/config/cris/cris.c @@ -3147,10 +3147,11 @@ cris_emit_movem_store (rtx dest, rtx nregs_rtx, int increment, if (increment != 0) { rtx seq = gen_rtx_SEQUENCE (VOIDmode, rtvec_alloc (nregs + 1)); - XVECEXP (seq, 0, 0) = XVECEXP (PATTERN (insn), 0, 0); + XVECEXP (seq, 0, 0) = copy_rtx (XVECEXP (PATTERN (insn), 0, 0)); for (i = 1; i < nregs; i++) - XVECEXP (seq, 0, i) = XVECEXP (PATTERN (insn), 0, i + 1); - XVECEXP (seq, 0, nregs) = XVECEXP (PATTERN (insn), 0, 1); + XVECEXP (seq, 0, i) + = copy_rtx (XVECEXP (PATTERN (insn), 0, i + 1)); + XVECEXP (seq, 0, nregs) = copy_rtx (XVECEXP (PATTERN (insn), 0, 1)); REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_FRAME_RELATED_EXPR, seq, REG_NOTES (insn));