From: Martin Liska Date: Thu, 15 Jan 2015 16:02:28 +0000 (+0100) Subject: backport: re PR lto/63704 (-flto internal compiler error: in mems_in_disjoint_alias_s... X-Git-Tag: releases/gcc-4.8.5~324 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a663765c75b2ba49ed474aa64063a5e81b4dc9b4;p=thirdparty%2Fgcc.git backport: re PR lto/63704 (-flto internal compiler error: in mems_in_disjoint_alias_sets_p, at alias.c:398) Backport from mainline 2014-11-27 Richard Biener PR middle-end/63704 * alias.c (mems_in_disjoint_alias_sets_p): Remove assert and instead return false when !fstrict-aliasing. From-SVN: r219663 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 619d69f24e13..177ffd16f871 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2015-01-15 Martin Liska + + Backport from mainline + 2014-11-27 Richard Biener + + PR middle-end/63704 + * alias.c (mems_in_disjoint_alias_sets_p): Remove assert + and instead return false when !fstrict-aliasing. + 2015-01-14 Renlin Li Backport form mainline diff --git a/gcc/alias.c b/gcc/alias.c index 381222c34872..5240982795cf 100644 --- a/gcc/alias.c +++ b/gcc/alias.c @@ -380,17 +380,9 @@ get_alias_set_entry (alias_set_type alias_set) static inline int mems_in_disjoint_alias_sets_p (const_rtx mem1, const_rtx mem2) { -/* Perform a basic sanity check. Namely, that there are no alias sets - if we're not using strict aliasing. This helps to catch bugs - whereby someone uses PUT_CODE, but doesn't clear MEM_ALIAS_SET, or - where a MEM is allocated in some way other than by the use of - gen_rtx_MEM, and the MEM_ALIAS_SET is not cleared. If we begin to - use alias sets to indicate that spilled registers cannot alias each - other, we might need to remove this check. */ - gcc_assert (flag_strict_aliasing - || (!MEM_ALIAS_SET (mem1) && !MEM_ALIAS_SET (mem2))); - - return ! alias_sets_conflict_p (MEM_ALIAS_SET (mem1), MEM_ALIAS_SET (mem2)); + return (flag_strict_aliasing + && ! alias_sets_conflict_p (MEM_ALIAS_SET (mem1), + MEM_ALIAS_SET (mem2))); } /* Insert the NODE into the splay tree given by DATA. Used by