diff options
author | Jim Wilson <wilson@cygnus.com> | 1999-03-12 12:39:59 +0000 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1999-03-12 04:39:59 -0800 |
commit | a8edca885e492d3c61cefb38035bca639a69c7dd (patch) | |
tree | f3bcba98a4ff934fcf36db64298d8048229991b5 /gcc/reload1.c | |
parent | 47e73a5e92f2ecb4d63038f75f9baa557ee74e7a (diff) | |
download | gcc-a8edca885e492d3c61cefb38035bca639a69c7dd.zip gcc-a8edca885e492d3c61cefb38035bca639a69c7dd.tar.gz gcc-a8edca885e492d3c61cefb38035bca639a69c7dd.tar.bz2 |
Patch to fix reload abort while compiling hpux-x-m68k-aout gdb.
* reload1.c (calculate_needs_all_insns): When ignore equivalence
setting insn, clear need_elim, need_reload, and need_operand_change.
From-SVN: r25728
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r-- | gcc/reload1.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c index 9d13325..4402831 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -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) |