aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2012-09-24 15:02:53 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2012-09-24 15:02:53 +0000
commit28957eabb4c25ee7f4f6cd9daa9afdf6f9164739 (patch)
treec9370648619d9d56022e890b63b6404ff47db759 /gcc
parentbf3d19285c750fcfb69f31c24ef2dcc7d29e238d (diff)
downloadgcc-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/ChangeLog8
-rw-r--r--gcc/tree-ssa-live.c15
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))
{