summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>1999-06-24 14:59:23 +0000
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>1999-06-24 14:59:23 +0000
commitfb518a9a7884428c60a3191cd9048e60850f2d1d (patch)
treee7eaca5047a884121650e5480c41b0837011dff7
parent5f95c57a9388eaf9af19a8839a270181197fd3fe (diff)
downloadppe42-gcc-fb518a9a7884428c60a3191cd9048e60850f2d1d.tar.gz
ppe42-gcc-fb518a9a7884428c60a3191cd9048e60850f2d1d.zip
Revert these two patches:
Thu Jun 17 21:34:24 1999 J"orn Rennecke <amylaar@cygnus.co.uk> * 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 <amylaar@cygnus.co.uk> * loop.c (strength_reduce): When doing biv->giv conversion, fix up reg_biv_class. (recombine_givs): Set ix field after sorting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@27727 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog13
-rw-r--r--gcc/loop.c25
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 <mark@codesourcery.com>
+
+ Revert these two patches:
+
+ Thu Jun 17 21:34:24 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
+ * 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 <amylaar@cygnus.co.uk>
+ * 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 <amylaar@cygnus.co.uk>
* 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;
OpenPOWER on IntegriCloud