This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[patch] Do not directly change TARGET_MEM_REF in maybe_canonicalize_mem_ref_addr
- From: Eric Botcazou <ebotcazou at adacore dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 15 Jun 2017 15:51:32 +0200
- Subject: [patch] Do not directly change TARGET_MEM_REF in maybe_canonicalize_mem_ref_addr
- Authentication-results: sourceware.org; auth=none
Hi,
the transformation done to TARGET_MEM_REF in maybe_canonicalize_mem_ref_addr
is exactly the same as one of those done in maybe_fold_tmr, the latter is
better written and the former function calls the latter, so this patch changes
maybe_canonicalize_mem_ref_addr to avoid touching TARGET_MEM_REF directly.
Tested on x86-64/Linux, OK for the mainline?
2017-06-15 Eric Botcazou <ebotcazou@adacore.com>
PR bootstrap/80897
* gimple-fold.c (maybe_canonicalize_mem_ref_addr): Do not change
TARGET_MEM_REF expressions directly.
--
Eric Botcazou
Index: gimple-fold.c
===================================================================
--- gimple-fold.c (revision 249091)
+++ gimple-fold.c (working copy)
@@ -4178,8 +4178,7 @@ maybe_canonicalize_mem_ref_addr (tree *t
/* Canonicalize MEM [&foo.bar, 0] which appears after propagating
of invariant addresses into a SSA name MEM_REF address. */
- if (TREE_CODE (*t) == MEM_REF
- || TREE_CODE (*t) == TARGET_MEM_REF)
+ if (TREE_CODE (*t) == MEM_REF)
{
tree addr = TREE_OPERAND (*t, 0);
if (TREE_CODE (addr) == ADDR_EXPR