From: J"orn Rennecke Date: Mon, 2 Aug 1999 22:50:49 +0000 (+0000) Subject: loop.c (strength_reduce): When doing biv->giv conversion, fix up reg_biv_class. X-Git-Tag: prereleases/libstdc++-2.92~11409 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e76d23764b387e9636b5d568b62531019f7f2273;p=thirdparty%2Fgcc.git loop.c (strength_reduce): When doing biv->giv conversion, fix up reg_biv_class. * loop.c (strength_reduce): When doing biv->giv conversion, fix up reg_biv_class. From-SVN: r28413 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ec354394aa8c..d84431970099 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Mon Aug 2 23:46:45 1999 J"orn Rennecke + + * loop.c (strength_reduce): When doing biv->giv conversion, fix up + reg_biv_class. + 1999-08-02 Jakub Jelinek * config/float-sparc.h: New file. diff --git a/gcc/loop.c b/gcc/loop.c index db50a1862e56..0b02cc2a41c5 100644 --- a/gcc/loop.c +++ b/gcc/loop.c @@ -4072,6 +4072,7 @@ 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 @@ -4123,7 +4124,13 @@ strength_reduce (scan_start, end, loop_top, insn_count, } /* Remove this biv from the chain. */ if (bl->next) - *bl = *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; + } else { *backbl = 0;