Commit 1929b998 by Bernd Schmidt Committed by Bernd Schmidt

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
parent f42f0a3c
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> 2006-02-15 Daniel Berlin <dberlin@dberlin.org>
* tree.c (init_ttree): Add STRUCT_FIELD_TAG handling. * tree.c (init_ttree): Add STRUCT_FIELD_TAG handling.
......
/* Allocate registers within a basic block, for GNU compiler. /* Allocate registers within a basic block, for GNU compiler.
Copyright (C) 1987, 1988, 1991, 1993, 1994, 1995, 1996, 1997, 1998, 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. This file is part of GCC.
...@@ -962,8 +963,7 @@ update_equiv_regs (void) ...@@ -962,8 +963,7 @@ update_equiv_regs (void)
/* If we haven't done so, record for reload that this is an /* If we haven't done so, record for reload that this is an
equivalencing insn. */ equivalencing insn. */
if (!reg_equiv[regno].is_arg_equivalence if (!reg_equiv[regno].is_arg_equivalence)
&& (!MEM_P (x) || rtx_equal_p (src, x)))
reg_equiv_init[regno] reg_equiv_init[regno]
= gen_rtx_INSN_LIST (VOIDmode, insn, reg_equiv_init[regno]); = gen_rtx_INSN_LIST (VOIDmode, insn, reg_equiv_init[regno]);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment