(emit_reload_insns): Don't call HARD_REGNO_NREGS on psuedo when
authorRichard Kenner <kenner@gcc.gnu.org>
Sun, 11 Jun 1995 19:07:41 +0000 (15:07 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Sun, 11 Jun 1995 19:07:41 +0000 (15:07 -0400)
clearing reg_last_reload_reg.

From-SVN: r9928

gcc/reload1.c

index 887123e290e3f3d252e711f232f7018dc86bbe60..006ad7a89b38fc2c4709eb6f7e8bc28e4fd9a9cf 100644 (file)
@@ -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;
+           }
        }
     }
 }