summaryrefslogtreecommitdiff
path: root/gcc/gimplify.c
diff options
context:
space:
mode:
authoraldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4>2012-01-09 15:14:19 +0000
committeraldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4>2012-01-09 15:14:19 +0000
commit28098b5b27c8ae922acb070f62b1307263f252a0 (patch)
treef1670e405d630798297d4ba21644fe965549d789 /gcc/gimplify.c
parentd6fb657696759c6af7d1055a8f6c06aa0b31d3f1 (diff)
downloadgcc-28098b5b27c8ae922acb070f62b1307263f252a0.tar.gz
* gimple.c (is_gimple_non_addressable): Remove.
* gimple.h: Remove is_gimple_non_addressable. * gimplify.c (gimplify_modify_expr_rhs): Use is_gimple_reg instead of is_gimple_non_addressable. * trans-mem.c (expand_assign_tm): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183015 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/gimplify.c')
-rw-r--r--gcc/gimplify.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index 5f2cbf3c769..b3b047a7561 100644
--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -4411,7 +4411,9 @@ gimplify_modify_expr_rhs (tree *expr_p, tree *from_p, tree *to_p,
/* It's OK to use the target directly if it's being
initialized. */
use_target = true;
- else if (!is_gimple_non_addressable (*to_p))
+ else if (TREE_CODE (*to_p) != SSA_NAME
+ && (!is_gimple_variable (*to_p)
+ || needs_to_live_in_memory (*to_p)))
/* Don't use the original target if it's already addressable;
if its address escapes, and the called function uses the
NRV optimization, a conforming program could see *to_p