diff options
author | aldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-01-09 15:14:19 +0000 |
---|---|---|
committer | aldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-01-09 15:14:19 +0000 |
commit | 28098b5b27c8ae922acb070f62b1307263f252a0 (patch) | |
tree | f1670e405d630798297d4ba21644fe965549d789 /gcc/gimplify.c | |
parent | d6fb657696759c6af7d1055a8f6c06aa0b31d3f1 (diff) | |
download | gcc-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.c | 4 |
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 |