]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
reload1.c (choose_reload_regs): Set reload_spill_index for regs chosen during find_re...
authorBernd Schmidt <bernd.schmidt@analog.com>
Mon, 23 Jul 2007 17:22:34 +0000 (17:22 +0000)
committerBernd Schmidt <bernds@gcc.gnu.org>
Mon, 23 Jul 2007 17:22:34 +0000 (17:22 +0000)
* reload1.c (choose_reload_regs): Set reload_spill_index for regs
chosen during find_reloads.

From-SVN: r126854

gcc/ChangeLog
gcc/reload1.c

index 136b464191e089037be350bee05cafd1e64f98e7..ee86f1fdd84a75315ff56f3c087cd59c17b0be2d 100644 (file)
@@ -1,3 +1,8 @@
+2007-07-23  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * reload1.c (choose_reload_regs): Set reload_spill_index for regs
+       chosen during find_reloads.
+
 2007-07-19  Release Manager
 
        * GCC 4.2.1 released.
index a2449da0969cfbd8fa3576690850b3f8d2412c9c..20da1b67b41978bd69fbd508b6f3394cd983ac40 100644 (file)
@@ -5451,7 +5451,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)
        {