summaryrefslogtreecommitdiff
path: root/gcc/tree-outof-ssa.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2008-07-07 15:11:29 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2008-07-07 15:11:29 +0000
commit115340c79fdd40c3b8c809ef81a1deebec0a2500 (patch)
treeafd0ad862ac893fe8d11c0aaafd31d7e4f0e6d42 /gcc/tree-outof-ssa.c
parent511e41e54d2f5bd036740518781e126ecccbad49 (diff)
downloadgcc-115340c79fdd40c3b8c809ef81a1deebec0a2500.tar.gz
re PR target/36713 (r137252 breaks -O2 optimization on x86_64-unknown-linux-gnu)
2008-07-07 Richard Guenther <rguenther@suse.de> PR tree-optimization/36713 * tree-flow-inline.h (is_call_used): New function. * tree-nrv.c (dest_safe_for_nrv_p): Use it. * tree-tailcall.c (suitable_for_tail_opt_p): Likewise. * tree-outof-ssa.c (create_temp): Set call-used flag if required. From-SVN: r137571
Diffstat (limited to 'gcc/tree-outof-ssa.c')
-rw-r--r--gcc/tree-outof-ssa.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/tree-outof-ssa.c b/gcc/tree-outof-ssa.c
index 40c1d3f9c3b..21f362b9059 100644
--- a/gcc/tree-outof-ssa.c
+++ b/gcc/tree-outof-ssa.c
@@ -128,6 +128,8 @@ create_temp (tree t)
set_symbol_mem_tag (tmp, symbol_mem_tag (t));
if (is_call_clobbered (t))
mark_call_clobbered (tmp, var_ann (t)->escape_mask);
+ if (bitmap_bit_p (gimple_call_used_vars (cfun), DECL_UID (t)))
+ bitmap_set_bit (gimple_call_used_vars (cfun), DECL_UID (tmp));
return tmp;
}