diff options
author | Richard Biener <rguenther@suse.de> | 2014-08-05 13:05:06 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2014-08-05 13:05:06 +0000 |
commit | 96b3c03f4e952c913811f2ba7bf2b703ab0d54e4 (patch) | |
tree | 6dfae1a4a0cc077331f6a132085edd0b377def68 /gcc/cfgcleanup.c | |
parent | b8a5fbd280e516d914b41b80132210c6549814cd (diff) | |
download | gcc-96b3c03f4e952c913811f2ba7bf2b703ab0d54e4.zip gcc-96b3c03f4e952c913811f2ba7bf2b703ab0d54e4.tar.gz gcc-96b3c03f4e952c913811f2ba7bf2b703ab0d54e4.tar.bz2 |
re PR rtl-optimization/61672 (Less redundant instructions deleted by pre_delete after r208113.)
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.
From-SVN: r213638
Diffstat (limited to 'gcc/cfgcleanup.c')
-rw-r--r-- | gcc/cfgcleanup.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c index 01fd9ff..0fbfd55 100644 --- a/gcc/cfgcleanup.c +++ b/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) @@ -883,7 +884,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; |