diff options
author | Bernd Schmidt <bernd.schmidt@analog.com> | 2006-02-16 01:26:54 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds@gcc.gnu.org> | 2006-02-16 01:26:54 +0000 |
commit | 1929b9988c98e9a806b57e73fd3a9885b63643e0 (patch) | |
tree | e96a023be74a5ca6ea77c495571a180f659e446a /gcc/local-alloc.c | |
parent | f42f0a3c34a3028bbd7f39863fd73d92f2ab8514 (diff) | |
download | gcc-1929b9988c98e9a806b57e73fd3a9885b63643e0.zip gcc-1929b9988c98e9a806b57e73fd3a9885b63643e0.tar.gz gcc-1929b9988c98e9a806b57e73fd3a9885b63643e0.tar.bz2 |
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
Diffstat (limited to 'gcc/local-alloc.c')
-rw-r--r-- | gcc/local-alloc.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/local-alloc.c b/gcc/local-alloc.c index d22e9e7..820e0b6 100644 --- a/gcc/local-alloc.c +++ b/gcc/local-alloc.c @@ -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]); |