re PR bootstrap/51725 (segfault in stage 3 when compiling gcc/opts.c for sparc64-linux)

PR bootstrap/51725
	* cselib.c (add_mem_for_addr): Call canonical_cselib_val
	on mem_elt first.

From-SVN: r182819
This commit is contained in:
Jakub Jelinek 2012-01-02 23:17:02 +01:00 committed by Jakub Jelinek
parent ab807569b6
commit a4f436ffbb
2 changed files with 10 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2012-01-02 Jakub Jelinek <jakub@redhat.com>
PR bootstrap/51725
* cselib.c (add_mem_for_addr): Call canonical_cselib_val
on mem_elt first.
2012-01-02 Sandra Loosemore <sandra@codesourcery.com> 2012-01-02 Sandra Loosemore <sandra@codesourcery.com>
* doc/invoke.texi (-flto and related options): Copy-edit. * doc/invoke.texi (-flto and related options): Copy-edit.

View File

@ -1,7 +1,7 @@
/* Common subexpression elimination library for GNU compiler. /* Common subexpression elimination library for GNU compiler.
Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
Free Software Foundation, Inc. 2012 Free Software Foundation, Inc.
This file is part of GCC. This file is part of GCC.
@ -1264,6 +1264,8 @@ add_mem_for_addr (cselib_val *addr_elt, cselib_val *mem_elt, rtx x)
{ {
struct elt_loc_list *l; struct elt_loc_list *l;
mem_elt = canonical_cselib_val (mem_elt);
/* Avoid duplicates. */ /* Avoid duplicates. */
for (l = mem_elt->locs; l; l = l->next) for (l = mem_elt->locs; l; l = l->next)
if (MEM_P (l->loc) if (MEM_P (l->loc)