diff options
author | Alexander Ivchenko <alexander.ivchenko@intel.com> | 2014-08-06 16:05:57 +0400 |
---|---|---|
committer | Alexander Ivchenko <alexander.ivchenko@intel.com> | 2014-08-06 16:14:52 +0400 |
commit | 548c7fb638fe0054f6c540639607b3c713d5d4b7 (patch) | |
tree | ee9cc33512248c3123d0ce7ba7eaa809c36fa8c4 /gcc-4.9/gcc/cfgcleanup.c | |
parent | 38a8aecfb882072900434499696b5c32a2274515 (diff) | |
download | toolchain_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/cfgcleanup.c')
-rw-r--r-- | gcc-4.9/gcc/cfgcleanup.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc-4.9/gcc/cfgcleanup.c b/gcc-4.9/gcc/cfgcleanup.c index 77196ee6b..de307da54 100644 --- a/gcc-4.9/gcc/cfgcleanup.c +++ b/gcc-4.9/gcc/cfgcleanup.c @@ -53,6 +53,7 @@ along with GCC; see the file COPYING3. If not see #include "df.h" #include "dce.h" #include "dbgcnt.h" +#include "emit-rtl.h" #define FORWARDER_BLOCK_P(BB) ((BB)->flags & BB_FORWARDER_BLOCK) @@ -882,7 +883,7 @@ merge_memattrs (rtx x, rtx y) if (GET_MODE (x) != GET_MODE (y)) return; - if (code == MEM && MEM_ATTRS (x) != MEM_ATTRS (y)) + if (code == MEM && !mem_attrs_eq_p (MEM_ATTRS (x), MEM_ATTRS (y))) { if (! MEM_ATTRS (x)) MEM_ATTRS (y) = 0; |