aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/emit-rtl.c
diff options
context:
space:
mode:
authorAlexander Ivchenko <alexander.ivchenko@intel.com>2014-08-06 16:05:57 +0400
committerAlexander Ivchenko <alexander.ivchenko@intel.com>2014-08-06 16:14:52 +0400
commit548c7fb638fe0054f6c540639607b3c713d5d4b7 (patch)
treeee9cc33512248c3123d0ce7ba7eaa809c36fa8c4 /gcc-4.9/gcc/emit-rtl.c
parent38a8aecfb882072900434499696b5c32a2274515 (diff)
downloadtoolchain_gcc-548c7fb638fe0054f6c540639607b3c713d5d4b7.tar.gz
toolchain_gcc-548c7fb638fe0054f6c540639607b3c713d5d4b7.tar.bz2
toolchain_gcc-548c7fb638fe0054f6c540639607b3c713d5d4b7.zip
[4.9] Backport of patch fixing PR61672.
2014-08-05 Richard Biener <rguenther@suse.de> PR rtl-optimization/61672 * emit-rtl.h (mem_attrs_eq_p): Declare. * emit-rtl.c (mem_attrs_eq_p): Export. Handle NULL mem-attrs. * cse.c (exp_equiv_p): Use mem_attrs_eq_p. * cfgcleanup.c (merge_memattrs): Likewise. Include emit-rtl.h. Without this patch build of art with 4.9 is broken (at least on x86). Here is the error msg: art/runtime/interpreter/interpreter_goto_table_impl.cc:2437:1: error: the frame size of 3328 bytes is larger than 1728 bytes [-Werror=frame-larger-than=] Change-Id: I1a33cff567ae91bdbd34a4df6e6360594ae75993 Signed-off-by: Alexander Ivchenko <alexander.ivchenko@intel.com>
Diffstat (limited to 'gcc-4.9/gcc/emit-rtl.c')
-rw-r--r--gcc-4.9/gcc/emit-rtl.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc-4.9/gcc/emit-rtl.c b/gcc-4.9/gcc/emit-rtl.c
index 4736f8d0d..3041b9e7a 100644
--- a/gcc-4.9/gcc/emit-rtl.c
+++ b/gcc-4.9/gcc/emit-rtl.c
@@ -245,9 +245,13 @@ const_fixed_htab_eq (const void *x, const void *y)
/* Return true if the given memory attributes are equal. */
-static bool
+bool
mem_attrs_eq_p (const struct mem_attrs *p, const struct mem_attrs *q)
{
+ if (p == q)
+ return true;
+ if (!p || !q)
+ return false;
return (p->alias == q->alias
&& p->offset_known_p == q->offset_known_p
&& (!p->offset_known_p || p->offset == q->offset)