re PR rtl-optimization/25636 (opts.c is being miscompiled, write to read only memory)

PR rtl-optimization/25636
	* local-alloc.c (update_equiv_regs): Lose a bogus rtx_equal_p test
	when deciding whether an insn is an initializing insn.

From-SVN: r111129
This commit is contained in:
Bernd Schmidt 2006-02-16 01:26:54 +00:00 committed by Bernd Schmidt
parent f42f0a3c34
commit 1929b9988c
2 changed files with 9 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2006-02-16 Bernd Schmidt <bernd.schmidt@analog.com>
PR rtl-optimization/25636
* local-alloc.c (update_equiv_regs): Lose a bogus rtx_equal_p test
when deciding whether an insn is an initializing insn.
2006-02-15 Daniel Berlin <dberlin@dberlin.org>
* tree.c (init_ttree): Add STRUCT_FIELD_TAG handling.

View File

@ -1,6 +1,7 @@
/* Allocate registers within a basic block, for GNU compiler.
Copyright (C) 1987, 1988, 1991, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
Inc.
This file is part of GCC.
@ -962,8 +963,7 @@ update_equiv_regs (void)
/* If we haven't done so, record for reload that this is an
equivalencing insn. */
if (!reg_equiv[regno].is_arg_equivalence
&& (!MEM_P (x) || rtx_equal_p (src, x)))
if (!reg_equiv[regno].is_arg_equivalence)
reg_equiv_init[regno]
= gen_rtx_INSN_LIST (VOIDmode, insn, reg_equiv_init[regno]);