diff options
Diffstat (limited to 'gcc/loop.c')
-rw-r--r-- | gcc/loop.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -5835,7 +5835,10 @@ record_giv (loop, v, insn, src_reg, dest_reg, mult_val, add_val, ext_val, abort (); if (type == DEST_ADDR) - v->replaceable = 1; + { + v->replaceable = 1; + v->not_replaceable = 0; + } else { /* The giv can be replaced outright by the reduced register only if all @@ -5870,6 +5873,7 @@ record_giv (loop, v, insn, src_reg, dest_reg, mult_val, add_val, ext_val, using this biv anyways. */ v->replaceable = 1; + v->not_replaceable = 0; for (b = bl->biv; b; b = b->next_iv) { if (INSN_UID (b->insn) >= max_uid_for_loop @@ -5981,6 +5985,7 @@ check_final_value (loop, v) rtx last_giv_use; v->replaceable = 1; + v->not_replaceable = 0; /* When trying to determine whether or not a biv increment occurs during the lifetime of the giv, we can ignore uses of the variable |