From: steven Date: Sun, 3 Jan 2010 22:41:22 +0000 (+0000) Subject: PR rtl-optimization/41862 X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=commitdiff_plain;h=9a5bb191d29d9609b4de954f27222fb9af9aba7e PR rtl-optimization/41862 * store-motion.c (store_killed_in_insn, compute_store_table, remove_reachable_equiv_notes, replace_store_insn, build_store_vectors): Ignore all DEBUG_INSNs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155596 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 414dc2c56b4..203039f25a2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2009-01-03 Steven Bosscher + + PR rtl-optimization/41862 + * store-motion.c (store_killed_in_insn, compute_store_table, + remove_reachable_equiv_notes, replace_store_insn, + build_store_vectors): Ignore all DEBUG_INSNs. + 2010-01-03 H.J. Lu PR lto/41564 diff --git a/gcc/store-motion.c b/gcc/store-motion.c index ffccd220f5b..8cb75d7ac27 100644 --- a/gcc/store-motion.c +++ b/gcc/store-motion.c @@ -398,7 +398,7 @@ store_killed_in_insn (const_rtx x, const_rtx x_regs, const_rtx insn, int after) { const_rtx reg, base, note, pat; - if (!INSN_P (insn)) + if (! NONDEBUG_INSN_P (insn)) return false; if (CALL_P (insn)) @@ -667,7 +667,7 @@ compute_store_table (void) FOR_BB_INSNS (bb, insn) { - if (! INSN_P (insn)) + if (! NONDEBUG_INSN_P (insn)) continue; for (def_rec = DF_INSN_DEFS (insn); *def_rec; def_rec++) @@ -678,7 +678,7 @@ compute_store_table (void) memset (already_set, 0, sizeof (int) * max_gcse_regno); FOR_BB_INSNS (bb, insn) { - if (! INSN_P (insn)) + if (! NONDEBUG_INSN_P (insn)) continue; for (def_rec = DF_INSN_DEFS (insn); *def_rec; def_rec++) @@ -897,7 +897,7 @@ remove_reachable_equiv_notes (basic_block bb, struct st_expr *smexpr) last = NEXT_INSN (BB_END (bb)); for (insn = BB_HEAD (bb); insn != last; insn = NEXT_INSN (insn)) - if (INSN_P (insn)) + if (NONDEBUG_INSN_P (insn)) { note = find_reg_equal_equiv_note (insn); if (!note || !exp_equiv_p (XEXP (note, 0), mem, 0, true)) @@ -963,7 +963,7 @@ replace_store_insn (rtx reg, rtx del, basic_block bb, struct st_expr *smexpr) they are no longer accurate provided that they are reached by this definition, so drop them. */ for (; insn != NEXT_INSN (BB_END (bb)); insn = NEXT_INSN (insn)) - if (INSN_P (insn)) + if (NONDEBUG_INSN_P (insn)) { set = single_set (insn); if (!set) @@ -1070,7 +1070,7 @@ build_store_vectors (void) memset (regs_set_in_block, 0, sizeof (int) * max_gcse_regno); FOR_BB_INSNS (bb, insn) - if (INSN_P (insn)) + if (NONDEBUG_INSN_P (insn)) { df_ref *def_rec; for (def_rec = DF_INSN_DEFS (insn); *def_rec; def_rec++)