From: Richard Guenther Date: Mon, 24 Sep 2012 15:02:53 +0000 (+0000) Subject: re PR lto/54632 (not supported in LTO streams : tree code '�F ��D�� `) X-Git-Tag: misc/gccgo-go1_1_2~671 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=28957eabb4c25ee7f4f6cd9daa9afdf6f9164739;p=thirdparty%2Fgcc.git re PR lto/54632 (not supported in LTO streams : tree code '�F ��D�� `) 2012-09-24 Richard Guenther PR middle-end/54632 * tree-ssa-live.c (clear_unused_block_pointer_1): Do not handle DECL_DEBUG_EXPR_IS_FROM here... (clear_unused_block_pointer): ... but here when walking all local decls. From-SVN: r191669 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 484df3673ad3..f44e5b5e5c09 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2012-09-24 Richard Guenther + + PR middle-end/54632 + * tree-ssa-live.c (clear_unused_block_pointer_1): Do not + handle DECL_DEBUG_EXPR_IS_FROM here... + (clear_unused_block_pointer): ... but here when walking all + local decls. + 2012-09-24 Richard Guenther PR tree-optimization/54684 diff --git a/gcc/tree-ssa-live.c b/gcc/tree-ssa-live.c index af09806a2cf7..68361454b451 100644 --- a/gcc/tree-ssa-live.c +++ b/gcc/tree-ssa-live.c @@ -620,11 +620,6 @@ 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; } @@ -636,6 +631,16 @@ clear_unused_block_pointer () { basic_block bb; gimple_stmt_iterator gsi; + tree t; + unsigned i; + + FOR_EACH_LOCAL_DECL (cfun, i, t) + if (TREE_CODE (t) == VAR_DECL && DECL_DEBUG_EXPR_IS_FROM (t)) + { + tree debug_expr = DECL_DEBUG_EXPR (t); + walk_tree (&debug_expr, clear_unused_block_pointer_1, NULL, NULL); + } + FOR_EACH_BB (bb) for (gsi = gsi_start_bb (bb); !gsi_end_p (gsi); gsi_next (&gsi)) {