revert: tree-cfg.c (mark_used_vars): New function.

2005-12-20  Richard Guenther  <rguenther@suse.de>

        Revert
        2005-12-02  Richard Guenther  <rguenther@suse.de>

        * tree-cfg.c (mark_used_vars): New function.
        (dump_function_to_file): Dump only used VAR_DECLs.

        * gcc.dg/tree-ssa/20031106-6.c: Remove XFAIL.

From-SVN: r108852
This commit is contained in:
Richard Guenther 2005-12-20 14:35:29 +00:00 committed by Richard Biener
parent 68d04c6749
commit bd989e4c10
4 changed files with 16 additions and 50 deletions

View File

@ -1,3 +1,11 @@
2005-12-20 Richard Guenther <rguenther@suse.de>
Revert
2005-12-02 Richard Guenther <rguenther@suse.de>
* tree-cfg.c (mark_used_vars): New function.
(dump_function_to_file): Dump only used VAR_DECLs.
2005-12-19 Roger Sayle <roger@eyesopen.com>
* combine.c (try_combine): Improve splitting of binary operators

View File

@ -1,3 +1,10 @@
2005-12-20 Richard Guenther <rguenther@suse.de>
Revert
2005-12-02 Richard Guenther <rguenther@suse.de>
* gcc.dg/tree-ssa/20031106-6.c: Remove XFAIL.
2005-12-20 Mark Mitchell <mark@codesourcery.com>
PR c++/21228

View File

@ -25,5 +25,5 @@ struct s foo (struct s r)
/* There should be no references to any of "temp_struct*"
temporaries. */
/* { dg-final { scan-tree-dump-times "temp_struct" 0 "optimized" } } */
/* { dg-final { scan-tree-dump-times "temp_struct" 0 "optimized" { xfail *-*-* } } } */
/* { dg-final { cleanup-tree-dump "optimized" } } */

View File

@ -4428,26 +4428,6 @@ tree_duplicate_sese_region (edge entry, edge exit,
}
static tree
mark_used_vars (tree *tp, int *walk_subtrees, void *used_vars_)
{
bitmap *used_vars = (bitmap *)used_vars_;
if (walk_subtrees
&& IS_TYPE_OR_DECL_P (*tp))
*walk_subtrees = 0;
if (!SSA_VAR_P (*tp))
return NULL_TREE;
if (TREE_CODE (*tp) == SSA_NAME)
bitmap_set_bit (*used_vars, DECL_UID (SSA_NAME_VAR (*tp)));
else
bitmap_set_bit (*used_vars, DECL_UID (*tp));
return NULL_TREE;
}
/* Dump FUNCTION_DECL FN to file FILE using FLAGS (see TDF_* in tree.h) */
void
@ -4482,47 +4462,18 @@ dump_function_to_file (tree fn, FILE *file, int flags)
BIND_EXPRs, so display them separately. */
if (cfun && cfun->decl == fn && cfun->unexpanded_var_list)
{
bitmap used_vars = BITMAP_ALLOC (NULL);
ignore_topmost_bind = true;
/* Record vars we'll use dumping the functions tree. */
if (cfun->cfg && basic_block_info)
{
FOR_EACH_BB (bb)
{
block_stmt_iterator bsi;
for (bsi = bsi_start (bb); !bsi_end_p (bsi); bsi_next (&bsi))
walk_tree (bsi_stmt_ptr (bsi), mark_used_vars,
&used_vars, NULL);
}
for (vars = cfun->unexpanded_var_list; vars;
vars = TREE_CHAIN (vars))
{
var = TREE_VALUE (vars);
if (TREE_CODE (var) == VAR_DECL
&& DECL_INITIAL (var)
&& bitmap_bit_p (used_vars, DECL_UID (var)))
walk_tree (&DECL_INITIAL (var), mark_used_vars,
&used_vars, NULL);
}
}
/* Dump used vars. */
fprintf (file, "{\n");
for (vars = cfun->unexpanded_var_list; vars; vars = TREE_CHAIN (vars))
{
var = TREE_VALUE (vars);
if (cfun->cfg && basic_block_info
&& !bitmap_bit_p (used_vars, DECL_UID (var)))
continue;
print_generic_decl (file, var, flags);
fprintf (file, "\n");
any_var = true;
}
BITMAP_FREE (used_vars);
}
if (cfun && cfun->decl == fn && cfun->cfg && basic_block_info)