Patch to fix reload abort while compiling hpux-x-m68k-aout gdb.
authorJim Wilson <wilson@cygnus.com>
Fri, 12 Mar 1999 12:39:59 +0000 (12:39 +0000)
committerJim Wilson <wilson@gcc.gnu.org>
Fri, 12 Mar 1999 12:39:59 +0000 (04:39 -0800)
* reload1.c (calculate_needs_all_insns): When ignore equivalence
setting insn, clear need_elim, need_reload, and need_operand_change.

From-SVN: r25728

gcc/ChangeLog
gcc/reload1.c

index 2aeb7e9ed86c917bf03e375c4b82b20bec64a311..417319dba6f790062ff27babbe528361789c7d96 100644 (file)
@@ -1,3 +1,8 @@
+Fri Mar 12 12:35:01 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * reload1.c (calculate_needs_all_insns): When ignore equivalence
+       setting insn, clear need_elim, need_reload, and need_operand_change.
+
 Fri Mar 12 07:54:43 1999  Bruce Korb <korb@datadesign.com>
 
        * fixinc/fixinc.*: Some changes from the fixincl-branch
index 9d13325746470066288d1a1d4809157b6d7c021b..440283195df457009c5c8a80cac28c72f30c7abe 100644 (file)
@@ -1387,7 +1387,14 @@ calculate_needs_all_insns (global)
          if (set && GET_CODE (SET_DEST (set)) == REG
              && reg_renumber[REGNO (SET_DEST (set))] < 0
              && reg_equiv_constant[REGNO (SET_DEST (set))])
-           continue;
+           {
+             /* Must clear out the shortcuts, in case they were set last
+                time through.  */
+             chain->need_elim = 0;
+             chain->need_reload = 0;
+             chain->need_operand_change = 0;
+             continue;
+           }
 
          /* If needed, eliminate any eliminable registers.  */
          if (num_eliminable || num_eliminable_invariants)