summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-live.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2009-07-02 10:18:24 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2009-07-02 10:18:24 +0000
commit9b68b56b3737ee350c8a02c98837475a1b7ca6cf (patch)
tree311b16650e82552b4d5ec734b325f969addba653 /gcc/tree-ssa-live.c
parent876ffac7a8d54f6c36b177c8d9e7926d2d48d22f (diff)
downloadgcc-9b68b56b3737ee350c8a02c98837475a1b7ca6cf.tar.gz
2009-07-02 Richard Guenther <rguenther@suse.de>
* tree-ssa-live.c (remove_unused_locals): Do not remove heap variables. * tree-ssa-structalias.c (handle_lhs_call): Delay setting of DECL_EXTERNAL for HEAP variables. (compute_points_to_sets): Set DECL_EXTERNAL for escaped HEAP variables. Do not adjust RESTRICT vars. (find_what_var_points_to): Nobody cares if something points to READONLY. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149170 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-live.c')
-rw-r--r--gcc/tree-ssa-live.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree-ssa-live.c b/gcc/tree-ssa-live.c
index a710c65d3b4..d4166944e97 100644
--- a/gcc/tree-ssa-live.c
+++ b/gcc/tree-ssa-live.c
@@ -795,6 +795,7 @@ remove_unused_locals (void)
&& TREE_CODE (t) != PARM_DECL
&& TREE_CODE (t) != RESULT_DECL
&& !(ann = var_ann (t))->used
+ && !ann->is_heapvar
&& !TREE_ADDRESSABLE (t))
remove_referenced_var (t);
remove_unused_scope_block_p (DECL_INITIAL (current_function_decl));