2008-12-05 Bernd Schmidt <bernd.schmidt@analog.com>
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 6 Dec 2008 03:18:15 +0000 (03:18 +0000)
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 6 Dec 2008 03:18:15 +0000 (03:18 +0000)
PR rtl-optimization/38272
* reload1.c (choose_reload_regs): Keep reload_spill_index correct
in all cases.

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

gcc/ChangeLog
gcc/reload1.c

index 5318c3e..cf34965 100644 (file)
@@ -1,3 +1,9 @@
+2008-12-05  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       PR rtl-optimization/38272
+       * reload1.c (choose_reload_regs): Keep reload_spill_index correct
+       in all cases.
+
 2008-12-05  Jakub Jelinek  <jakub@redhat.com>
 
        PR c++/35336
index 2f95fa5..ac1e874 100644 (file)
@@ -6362,6 +6362,7 @@ choose_reload_regs (struct insn_chain *chain)
                  int nr = hard_regno_nregs[regno][rld[r].mode];
                  int k;
                  rld[r].reg_rtx = equiv;
+                 reload_spill_index[r] = regno;
                  reload_inherited[r] = 1;
 
                  /* If reg_reloaded_valid is not set for this register,