From: jakub Date: Thu, 27 May 2010 22:08:41 +0000 (+0000) Subject: PR bootstrap/44255 X-Git-Url: http://git.sourceforge.jp/view?a=commitdiff_plain;h=547a09b3eee8d0b6b6c604ee52cd0754915e0d4c;p=pf3gnuchains%2Fgcc-fork.git PR bootstrap/44255 * combine.c (struct rtx_subst_pair): Define unconditionally. (propagate_for_debug_subst): Likewise. If not AUTO_INC_DEC, copy_rtx pair->to instead of cleanup_auto_inc_dec it. Call make_compound_operation on pair->to. (propagate_for_debug): Don't call make_compound_operation here. Always use simplify_replace_fn_rtx. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159952 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c32fcc3f9af..0638a80e784 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,14 @@ -2010-05-27 Sterling Augustine +2010-05-28 Jakub Jelinek + + PR bootstrap/44255 + * combine.c (struct rtx_subst_pair): Define unconditionally. + (propagate_for_debug_subst): Likewise. If not AUTO_INC_DEC, + copy_rtx pair->to instead of cleanup_auto_inc_dec it. + Call make_compound_operation on pair->to. + (propagate_for_debug): Don't call make_compound_operation here. + Always use simplify_replace_fn_rtx. + +2010-05-27 Sterling Augustine * doc/invoke.texi (xtensa options): Add -mforce-no-pic. * config/xtensa/xtensa.c (override_options): Check diff --git a/gcc/combine.c b/gcc/combine.c index e9389d7b2b7..1bee2c7f422 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -2271,6 +2271,7 @@ cleanup_auto_inc_dec (rtx src, bool after, enum machine_mode mem_mode) return x; } +#endif /* Auxiliary data structure for propagate_for_debug_stmt. */ @@ -2294,12 +2295,16 @@ propagate_for_debug_subst (rtx from, const_rtx old_rtx, void *data) if (!pair->adjusted) { pair->adjusted = true; +#ifdef AUTO_INC_DEC pair->to = cleanup_auto_inc_dec (pair->to, pair->after, VOIDmode); +#else + pair->to = copy_rtx (pair->to); +#endif + pair->to = make_compound_operation (pair->to, SET); return pair->to; } return copy_rtx (pair->to); } -#endif /* Replace occurrences of DEST with SRC in DEBUG_INSNs between INSN and LAST. If MOVE holds, debug insns must also be moved past @@ -2309,16 +2314,12 @@ static void propagate_for_debug (rtx insn, rtx last, rtx dest, rtx src, bool move) { rtx next, move_pos = move ? last : NULL_RTX, loc; - bool first_p; -#ifdef AUTO_INC_DEC struct rtx_subst_pair p; p.to = src; p.adjusted = false; p.after = move; -#endif - first_p = true; next = NEXT_INSN (insn); while (next != last) { @@ -2326,17 +2327,8 @@ propagate_for_debug (rtx insn, rtx last, rtx dest, rtx src, bool move) next = NEXT_INSN (insn); if (DEBUG_INSN_P (insn)) { - if (first_p) - { - src = make_compound_operation (src, SET); - first_p = false; - } -#ifdef AUTO_INC_DEC loc = simplify_replace_fn_rtx (INSN_VAR_LOCATION_LOC (insn), dest, propagate_for_debug_subst, &p); -#else - loc = simplify_replace_rtx (INSN_VAR_LOCATION_LOC (insn), dest, src); -#endif if (loc == INSN_VAR_LOCATION_LOC (insn)) continue; INSN_VAR_LOCATION_LOC (insn) = loc;