From 62a4a967a9ec706432d076cd352b64ca07b8445d Mon Sep 17 00:00:00 2001 From: Laurynas Biveinis Date: Fri, 7 Sep 2007 02:58:06 +0000 Subject: regrename.c (copyprop_hardreg_forward_1): New variable next. 2007-09-05 Laurynas Biveinis * regrename.c (copyprop_hardreg_forward_1): New variable next. Use FOR_BB_INSNS_SAFE instead of for loop. * cse.c (cse_extended_basic_block): Likewise. * postreload.c (reload_cse_regs_1): New variable next. Make sure that the for loop does not invoke NEXT_INSN on a deleted insn. * function.c (instantiate_virtual_regs): Likewise. * lower-subreg.c (remove_retval_note): Likewise. (decompose_multiword_subregs): Use FOR_BB_INSNS_SAFE instead of FOR_BB_INSNS. * emit-rtl.c (remove_insn): Set NEXT_INSN and PREV_INSN to NULL on a deleted insn. * cfgrtl.c (delete_insn): Set JUMP_LABEL to NULL on a deleted insn, if it's a jump. (try_redirect_by_replacing_jump): New variable jump_p. Call tablejump_p before delete_insn_chain. * reload1.c (reload): New variable next. Make sure that the for loop does not invoke NEXT_INSN on a deleted insn. (fixup_eh_region_note): Make the loop terminate if i becomes NULL. (delete_output_reload): New variable prev. Make sure the the for loops do not invoke PREV_INSN on a deleted insn. From-SVN: r128224 --- gcc/postreload.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gcc/postreload.c') diff --git a/gcc/postreload.c b/gcc/postreload.c index 674160b..2fd34e8 100644 --- a/gcc/postreload.c +++ b/gcc/postreload.c @@ -195,14 +195,15 @@ reload_cse_simplify (rtx insn, rtx testreg) static void reload_cse_regs_1 (rtx first) { - rtx insn; + rtx insn, next; rtx testreg = gen_rtx_REG (VOIDmode, -1); cselib_init (true); init_alias_analysis (); - for (insn = first; insn; insn = NEXT_INSN (insn)) + for (insn = first; insn; insn = next) { + next = NEXT_INSN (insn); if (INSN_P (insn)) reload_cse_simplify (insn, testreg); -- cgit v1.1