diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-07-22 07:10:46 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-07-22 07:10:46 +0000 |
commit | 68ec8b7d8b8f6603059ebbec754e0a9e99c1d331 (patch) | |
tree | 75c278eb80ff1266de00d41678bd02d49309d153 /gcc/regrename.c | |
parent | e923f00c23089d56a1116c84e6191f3d2c1904be (diff) | |
download | gcc-68ec8b7d8b8f6603059ebbec754e0a9e99c1d331.tar.gz |
* regrename.c (regrename_optimize): Compute nregs for each
potential target register.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44234 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/regrename.c')
-rw-r--r-- | gcc/regrename.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/regrename.c b/gcc/regrename.c index b34e7c56b51..d24a6955923 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] |