ira-color.c (move_spill_restore): Add a guard.
authorTristan Gingold <gingold@adacore.com>
Tue, 15 May 2012 07:57:57 +0000 (07:57 +0000)
committerTristan Gingold <gingold@gcc.gnu.org>
Tue, 15 May 2012 07:57:57 +0000 (07:57 +0000)
2012-05-15  Tristan Gingold  <gingold@adacore.com>

        * ira-color.c (move_spill_restore): Add a guard.

From-SVN: r187500

gcc/ChangeLog
gcc/ira-color.c

index 608a68a..9b7d499 100644 (file)
@@ -1,5 +1,9 @@
 2012-05-15  Tristan Gingold  <gingold@adacore.com>
 
+       * ira-color.c (move_spill_restore): Add a guard.
+
+2012-05-15  Tristan Gingold  <gingold@adacore.com>
+
        * config/ia64/ia64.c (ia64_emit_probe_stack_range): Adjust calls to
        plus_constant.
 
index 45f5244..300c3b8 100644 (file)
@@ -2941,8 +2941,9 @@ move_spill_restore (void)
                 copies and the reload pass can spill the allocno set
                 by copy although the allocno will not get memory
                 slot.  */
-             || ira_reg_equiv_invariant_p[regno]
-             || ira_reg_equiv_const[regno] != NULL_RTX
+             || (regno < ira_reg_equiv_len
+                 && (ira_reg_equiv_invariant_p[regno]
+                     || ira_reg_equiv_const[regno] != NULL_RTX))
              || !bitmap_bit_p (loop_node->border_allocnos, ALLOCNO_NUM (a)))
            continue;
          mode = ALLOCNO_MODE (a);