diff options
author | Richard Biener <rguenther@suse.de> | 2013-01-14 13:06:47 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2013-01-14 13:06:47 +0000 |
commit | 2724573f24083c08baff5bc6754421ba43f868ab (patch) | |
tree | 08cce6557bd5a1afa5a7349478aa1958b6201cf3 /gcc/tree-ssa-pre.c | |
parent | 9a0bbab603878eacaea82fbcb345c0d0736765be (diff) | |
download | gcc-2724573f24083c08baff5bc6754421ba43f868ab.zip gcc-2724573f24083c08baff5bc6754421ba43f868ab.tar.gz gcc-2724573f24083c08baff5bc6754421ba43f868ab.tar.bz2 |
tree-cfgcleanup.c (remove_forwarder_block): Unshare propagated PHI argument.
2013-01-14 Richard Biener <rguenther@suse.de>
* tree-cfgcleanup.c (remove_forwarder_block): Unshare propagated
PHI argument.
* graphite-sese-to-poly.c (insert_out_of_ssa_copy): Properly
unshare reference.
(insert_out_of_ssa_copy_on_edge): Likewise.
(rewrite_close_phi_out_of_ssa): Likewise.
* tree-ssa.c (insert_debug_temp_for_var_def): Properly unshare
debug expressions.
* tree-ssa-pre.c (insert_into_preds_of_block): Properly unshare
propagated constants.
* tree-cfg.c (tree_node_can_be_shared): Handled component-refs
can not be shared.
From-SVN: r195144
Diffstat (limited to 'gcc/tree-ssa-pre.c')
-rw-r--r-- | gcc/tree-ssa-pre.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c index 186ea90..9ccec21 100644 --- a/gcc/tree-ssa-pre.c +++ b/gcc/tree-ssa-pre.c @@ -3246,7 +3246,8 @@ insert_into_preds_of_block (basic_block block, unsigned int exprnum, gcc_assert (get_expr_type (ae) == type || useless_type_conversion_p (type, get_expr_type (ae))); if (ae->kind == CONSTANT) - add_phi_arg (phi, PRE_EXPR_CONSTANT (ae), pred, UNKNOWN_LOCATION); + add_phi_arg (phi, unshare_expr (PRE_EXPR_CONSTANT (ae)), + pred, UNKNOWN_LOCATION); else add_phi_arg (phi, PRE_EXPR_NAME (ae), pred, UNKNOWN_LOCATION); } |