From 548c7fb638fe0054f6c540639607b3c713d5d4b7 Mon Sep 17 00:00:00 2001 From: Alexander Ivchenko Date: Wed, 6 Aug 2014 16:05:57 +0400 Subject: [4.9] Backport of patch fixing PR61672. 2014-08-05 Richard Biener 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 --- gcc-4.9/gcc/cse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc-4.9/gcc/cse.c') diff --git a/gcc-4.9/gcc/cse.c b/gcc-4.9/gcc/cse.c index b8223f7a3..ec9aff419 100644 --- a/gcc-4.9/gcc/cse.c +++ b/gcc-4.9/gcc/cse.c @@ -2680,7 +2680,7 @@ exp_equiv_p (const_rtx x, const_rtx y, int validate, bool for_gcse) But because really all MEM attributes should be the same for equivalent MEMs, we just use the invariant that MEMs that have the same attributes share the same mem_attrs data structure. */ - if (MEM_ATTRS (x) != MEM_ATTRS (y)) + if (!mem_attrs_eq_p (MEM_ATTRS (x), MEM_ATTRS (y))) return 0; } break; -- cgit v1.2.3