diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1995-06-11 15:07:41 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1995-06-11 15:07:41 -0400 |
commit | c7093272e0b5e2489b95efa035d220682c1c5bfe (patch) | |
tree | d5417d5d7541e331f778011c893316c8467847b0 | |
parent | cb64e62696c73fa9b5e6c503d51568c15fd789a4 (diff) | |
download | gcc-c7093272e0b5e2489b95efa035d220682c1c5bfe.zip gcc-c7093272e0b5e2489b95efa035d220682c1c5bfe.tar.gz gcc-c7093272e0b5e2489b95efa035d220682c1c5bfe.tar.bz2 |
(emit_reload_insns): Don't call HARD_REGNO_NREGS on psuedo when
clearing reg_last_reload_reg.
From-SVN: r9928
-rw-r--r-- | gcc/reload1.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c index 887123e..006ad7a 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -6624,10 +6624,15 @@ emit_reload_insns (insn) if (i < 0 && reload_out[r] != 0 && GET_CODE (reload_out[r]) == REG) { register int nregno = REGNO (reload_out[r]); - int num_regs = HARD_REGNO_NREGS (nregno, GET_MODE (reload_out[r])); + if (nregno >= FIRST_PSEUDO_REGISTER) + reg_last_reload_reg[nregno] = 0; + else + { + int num_regs = HARD_REGNO_NREGS (nregno,GET_MODE (reload_out[r])); - while (num_regs-- > 0) - reg_last_reload_reg[nregno + num_regs] = 0; + while (num_regs-- > 0) + reg_last_reload_reg[nregno + num_regs] = 0; + } } } } |