diff options
author | Richard Guenther <rguenther@suse.de> | 2012-09-24 15:02:53 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2012-09-24 15:02:53 +0000 |
commit | 28957eabb4c25ee7f4f6cd9daa9afdf6f9164739 (patch) | |
tree | c9370648619d9d56022e890b63b6404ff47db759 /gcc | |
parent | bf3d19285c750fcfb69f31c24ef2dcc7d29e238d (diff) | |
download | gcc-28957eabb4c25ee7f4f6cd9daa9afdf6f9164739.zip gcc-28957eabb4c25ee7f4f6cd9daa9afdf6f9164739.tar.gz gcc-28957eabb4c25ee7f4f6cd9daa9afdf6f9164739.tar.bz2 |
re PR lto/54632 (not supported in LTO streams : tree code '�F ��D�� `)
2012-09-24 Richard Guenther <rguenther@suse.de>
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/tree-ssa-live.c | 15 |
2 files changed, 18 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 484df36..f44e5b5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,13 @@ 2012-09-24 Richard Guenther <rguenther@suse.de> + 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 <rguenther@suse.de> + PR tree-optimization/54684 * tree-ssa-ccp.c (optimize_unreachable): Properly update stmts. diff --git a/gcc/tree-ssa-live.c b/gcc/tree-ssa-live.c index af09806..6836145 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)) { |