summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-live.c
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2009-03-17 17:53:01 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2009-03-17 17:53:01 +0000
commit4595b0f911a55489b0969611401151497ad0ad3b (patch)
tree1b15f4c8cf7e3ebd1f8a9f62640f61f298f60849 /gcc/tree-ssa-live.c
parent6ace4ee2823bd24b7ad025b47c5c385262c2b85e (diff)
downloadgcc-4595b0f911a55489b0969611401151497ad0ad3b.tar.gz
PR debug/39474
* tree-ssa-live.c (remove_unused_locals): Don't remove local unused non-artificial variables when not optimizing. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144914 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-live.c')
-rw-r--r--gcc/tree-ssa-live.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/tree-ssa-live.c b/gcc/tree-ssa-live.c
index 28a829caedf..5731964e457 100644
--- a/gcc/tree-ssa-live.c
+++ b/gcc/tree-ssa-live.c
@@ -740,7 +740,8 @@ remove_unused_locals (void)
if (TREE_CODE (var) != FUNCTION_DECL
&& (!(ann = var_ann (var))
- || !ann->used))
+ || !ann->used)
+ && (optimize || DECL_ARTIFICIAL (var)))
{
if (is_global_var (var))
{
@@ -781,8 +782,7 @@ remove_unused_locals (void)
if (TREE_CODE (var) == VAR_DECL
&& is_global_var (var)
- && bitmap_bit_p (global_unused_vars, DECL_UID (var))
- && (optimize || DECL_ARTIFICIAL (var)))
+ && bitmap_bit_p (global_unused_vars, DECL_UID (var)))
*cell = TREE_CHAIN (*cell);
else
cell = &TREE_CHAIN (*cell);