2012-10-05 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 Oct 2012 11:48:27 +0000 (11:48 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 Oct 2012 11:48:27 +0000 (11:48 +0000)
PR middle-end/54811
* tree-ssa-live.c (clear_unused_block_pointer_1): Look at
DECL_DEBUG_EXPR again.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192120 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tree-ssa-live.c

index 93a143e..6768355 100644 (file)
@@ -1,3 +1,9 @@
+2012-10-05  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/54811
+       * tree-ssa-live.c (clear_unused_block_pointer_1): Look at
+       DECL_DEBUG_EXPR again.
+
 2012-10-05  Jan Hubicka  <jh@suse.cz>
            Jakub Jelinek  <jakub@redhat.com>
 
index 7bf89d1..b63dc7e 100644 (file)
@@ -621,6 +621,11 @@ clear_unused_block_pointer_1 (tree *tp, int *, void *)
   if (EXPR_P (*tp) && TREE_BLOCK (*tp)
       && !TREE_USED (TREE_BLOCK (*tp)))
     TREE_SET_BLOCK (*tp, NULL);
+  if (TREE_CODE (*tp) == VAR_DECL && DECL_DEBUG_EXPR_IS_FROM (*tp))
+    {
+      tree debug_expr = DECL_DEBUG_EXPR (*tp);
+      walk_tree (&debug_expr, clear_unused_block_pointer_1, NULL, NULL);
+    }
   return NULL_TREE;
 }