OSDN Git Service

Patch to fix reload abort while compiling hpux-x-m68k-aout gdb.
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 12 Mar 1999 12:39:59 +0000 (12:39 +0000)
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 12 Mar 1999 12:39:59 +0000 (12:39 +0000)
* reload1.c (calculate_needs_all_insns): When ignore equivalence
setting insn, clear need_elim, need_reload, and need_operand_change.

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

gcc/ChangeLog
gcc/reload1.c

index 2aeb7e9..417319d 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 9d13325..4402831 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)