summaryrefslogtreecommitdiff
path: root/gcc/postreload.c
diff options
context:
space:
mode:
authorlauras <lauras@138bc75d-0d04-0410-961f-82ee72b054a4>2007-09-07 02:58:06 +0000
committerlauras <lauras@138bc75d-0d04-0410-961f-82ee72b054a4>2007-09-07 02:58:06 +0000
commit40aed475ae428940429b27bb24cddc1763b79b2b (patch)
tree7ccd90b156ce32fb4c8f8191c5876483c41c14e4 /gcc/postreload.c
parent79acaae17e126f58016355519d445e2766a34771 (diff)
downloadgcc-40aed475ae428940429b27bb24cddc1763b79b2b.tar.gz
2007-09-05 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128224 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/postreload.c')
-rw-r--r--gcc/postreload.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/postreload.c b/gcc/postreload.c
index 674160b0954..2fd34e80c9a 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);