OSDN Git Service

* reload1.c (choose_reload_regs): Set reload_spill_index for regs
authorbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 6 Jul 2007 13:42:26 +0000 (13:42 +0000)
committerbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 6 Jul 2007 13:42:26 +0000 (13:42 +0000)
chosen during find_reloads.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126415 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/reload1.c

index f405b26..2c5edb5 100644 (file)
@@ -1,3 +1,8 @@
+2007-07-06  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * reload1.c (choose_reload_regs): Set reload_spill_index for regs
+       chosen during find_reloads.
+
 2007-07-06  Richard Guenther  <rguenther@suse.de>
 
        * gimplify.c (gimplify_call_expr): Prefer DECL_ARGUMENTS over
index 6bba280..fda1adc 100644 (file)
@@ -5633,7 +5633,14 @@ choose_reload_regs (struct insn_chain *chain)
   for (j = 0; j < n_reloads; j++)
     {
       reload_order[j] = j;
-      reload_spill_index[j] = -1;
+      if (rld[j].reg_rtx != NULL_RTX)
+       {
+         gcc_assert (REG_P (rld[j].reg_rtx)
+                     && HARD_REGISTER_P (rld[j].reg_rtx));
+         reload_spill_index[j] = REGNO (rld[j].reg_rtx);
+       }
+      else
+       reload_spill_index[j] = -1;
 
       if (rld[j].nregs > 1)
        {