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
This commit is contained in:
Richard Guenther 2012-09-24 15:02:53 +00:00 committed by Richard Biener
parent bf3d19285c
commit 28957eabb4
2 changed files with 18 additions and 5 deletions

View File

@ -1,3 +1,11 @@
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

View File

@ -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))
{