aboutsummaryrefslogtreecommitdiff
path: root/gcc/cse.c
diff options
context:
space:
mode:
authorLaurynas Biveinis <laurynas.biveinis@gmail.com>2007-09-07 02:58:06 +0000
committerLaurynas Biveinis <lauras@gcc.gnu.org>2007-09-07 02:58:06 +0000
commit62a4a967a9ec706432d076cd352b64ca07b8445d (patch)
tree7ccd90b156ce32fb4c8f8191c5876483c41c14e4 /gcc/cse.c
parent917948d364025c5cc418cd6486dc75b43fa12015 (diff)
downloadgcc-62a4a967a9ec706432d076cd352b64ca07b8445d.zip
gcc-62a4a967a9ec706432d076cd352b64ca07b8445d.tar.gz
gcc-62a4a967a9ec706432d076cd352b64ca07b8445d.tar.bz2
regrename.c (copyprop_hardreg_forward_1): New variable next.
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. From-SVN: r128224
Diffstat (limited to 'gcc/cse.c')
-rw-r--r--gcc/cse.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/cse.c b/gcc/cse.c
index 590adfa..f3395e8 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -6018,12 +6018,12 @@ cse_extended_basic_block (struct cse_basic_block_data *ebb_data)
for (path_entry = 0; path_entry < path_size; path_entry++)
{
basic_block bb;
- rtx insn;
+ rtx insn, next;
rtx libcall_insn = NULL_RTX;
int no_conflict = 0;
bb = ebb_data->path[path_entry].bb;
- FOR_BB_INSNS (bb, insn)
+ FOR_BB_INSNS_SAFE (bb, insn, next)
{
/* If we have processed 1,000 insns, flush the hash table to
avoid extreme quadratic behavior. We must not include NOTEs