From: Richard Henderson Date: Sun, 22 Jul 2001 07:10:46 +0000 (-0700) Subject: regrename.c (regrename_optimize): Compute nregs for each potential target register. X-Git-Tag: prereleases/libstdc++-3.0.95~3135 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4e812700ae2d64e2d6058afa4035ea9935c34dff;p=thirdparty%2Fgcc.git regrename.c (regrename_optimize): Compute nregs for each potential target register. * regrename.c (regrename_optimize): Compute nregs for each potential target register. From-SVN: r44234 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 66107b172c7a..089d6b774036 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-07-22 Richard Henderson + + * regrename.c (regrename_optimize): Compute nregs for each + potential target register. + 2001-07-21 Neil Booth Richard Henderson diff --git a/gcc/regrename.c b/gcc/regrename.c index b34e7c56b519..d24a6955923e 100644 --- a/gcc/regrename.c +++ b/gcc/regrename.c @@ -238,8 +238,7 @@ regrename_optimize () struct du_chain *this = all_chains; struct du_chain *tmp, *last; HARD_REG_SET this_unavailable; - int reg = REGNO (*this->loc), treg; - int nregs = HARD_REGNO_NREGS (reg, GET_MODE (*this->loc)); + int reg = REGNO (*this->loc); int i; all_chains = this->next_chain; @@ -287,9 +286,10 @@ regrename_optimize () /* Now potential_regs is a reasonable approximation, let's have a closer look at each register still in there. */ - for (treg = 0; treg < FIRST_PSEUDO_REGISTER; treg++) + for (new_reg = 0; new_reg < FIRST_PSEUDO_REGISTER; new_reg++) { - new_reg = treg; + int nregs = HARD_REGNO_NREGS (new_reg, GET_MODE (*this->loc)); + for (i = nregs - 1; i >= 0; --i) if (TEST_HARD_REG_BIT (this_unavailable, new_reg + i) || fixed_regs[new_reg + i]