diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2012-01-09 15:14:19 +0000 |
---|---|---|
committer | Aldy Hernandez <aldyh@gcc.gnu.org> | 2012-01-09 15:14:19 +0000 |
commit | 345ae17774bc0f8b527fa87c28ad7c6116b845bd (patch) | |
tree | f1670e405d630798297d4ba21644fe965549d789 /gcc/gimplify.c | |
parent | 2c5cbc315fad590eb2a89d46c8397fcb9b9cc2ba (diff) | |
download | gcc-345ae17774bc0f8b527fa87c28ad7c6116b845bd.zip gcc-345ae17774bc0f8b527fa87c28ad7c6116b845bd.tar.gz gcc-345ae17774bc0f8b527fa87c28ad7c6116b845bd.tar.bz2 |
gimple.c (is_gimple_non_addressable): Remove.
* 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.
From-SVN: r183015
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 5f2cbf3..b3b047a 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 |