From e04ea7d3eb1ed3bc6e780f775a5c7f25363416d8 Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Thu, 24 Jun 1999 14:59:23 +0000 Subject: [PATCH] Revert these two patches: Thu Jun 17 21:34:24 1999 J"orn Rennecke * loop.c (strength_reduce): When doing biv->giv conversion, update reg note of NEXT->insn. Thu Jun 17 17:22:07 1999 J"orn Rennecke * loop.c (strength_reduce): When doing biv->giv conversion, fix up reg_biv_class. (recombine_givs): Set ix field after sorting. From-SVN: r27727 --- gcc/ChangeLog | 13 +++++++++++++ gcc/loop.c | 25 +++++-------------------- 2 files changed, 18 insertions(+), 20 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 650648ca248..d55a44bcdcc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,16 @@ +Thu Jun 24 15:00:47 1999 Mark Mitchell + + Revert these two patches: + + Thu Jun 17 21:34:24 1999 J"orn Rennecke + * loop.c (strength_reduce): When doing biv->giv conversion, update + reg note of NEXT->insn. + + Thu Jun 17 17:22:07 1999 J"orn Rennecke + * loop.c (strength_reduce): When doing biv->giv conversion, fix up + reg_biv_class. + (recombine_givs): Set ix field after sorting. + Wed Jun 23 21:26:00 1999 J"orn Rennecke * rtlanal.c (reg_referenced_p): Use reg_overlap_mentioned_p diff --git a/gcc/loop.c b/gcc/loop.c index 7bd014786f0..b616be0d524 100644 --- a/gcc/loop.c +++ b/gcc/loop.c @@ -4065,7 +4065,6 @@ strength_reduce (scan_start, end, loop_top, insn_count, fprintf (loop_dump_stream, "is giv of biv %d\n", bl2->regno); /* Let this giv be discovered by the generic code. */ REG_IV_TYPE (bl->regno) = UNKNOWN_INDUCT; - reg_biv_class[bl->regno] = NULL_PTR; /* We can get better optimization if we can move the giv setting before the first giv use. */ if (dominator @@ -4117,13 +4116,7 @@ strength_reduce (scan_start, end, loop_top, insn_count, } /* Remove this biv from the chain. */ if (bl->next) - { - /* We move the following giv from *bl->next into *bl. - We have to update reg_biv_class for that moved biv - to point to its new address. */ - *bl = *bl->next; - reg_biv_class[bl->regno] = bl; - } + *bl = *bl->next; else { *backbl = 0; @@ -4198,7 +4191,7 @@ strength_reduce (scan_start, end, loop_top, insn_count, for (vp = &bl->biv, next = *vp; v = next, next = v->next_iv;) { HOST_WIDE_INT offset; - rtx set, add_val, old_reg, dest_reg, last_use_insn, note; + rtx set, add_val, old_reg, dest_reg, last_use_insn; int old_regno, new_regno; if (! v->always_executed @@ -4304,13 +4297,7 @@ strength_reduce (scan_start, end, loop_top, insn_count, REG_IV_TYPE (new_regno) = GENERAL_INDUCT; REG_IV_INFO (new_regno) = v; - - /* If next_insn has a REG_EQUAL note that mentiones OLD_REG, - it must be replaced. */ - note = find_reg_note (next->insn, REG_EQUAL, NULL_RTX); - if (note && reg_mentioned_p (old_reg, XEXP (note, 0))) - XEXP (note, 0) = copy_rtx (SET_SRC (single_set (next->insn))); - + /* Remove the increment from the list of biv increments, and record it as a giv. */ *vp = next; @@ -7210,18 +7197,16 @@ recombine_givs (bl, loop_start, loop_end, unroll_p) for (p = v->insn; INSN_UID (p) >= max_uid_for_loop; ) p = PREV_INSN (p); stats[i].start_luid = INSN_LUID (p); + v->ix = i; i++; } qsort (stats, giv_count, sizeof(*stats), cmp_recombine_givs_stats); - /* Set up the ix field for each giv in stats to name - the corresponding index into stats, and - do the actual most-recently-used recombination. */ + /* Do the actual most-recently-used recombination. */ for (last_giv = 0, i = giv_count - 1; i >= 0; i--) { v = giv_array[stats[i].giv_number]; - v->ix = i; if (v->same) { struct induction *old_same = v->same; -- 2.30.2