tree-cfg.c (verify_node_sharing_1): Split out from ...

2013-01-11  Richard Biener  <rguenther@suse.de>

	* tree-cfg.c (verify_node_sharing_1): Split out from ...
	(verify_node_sharing): ... here.
	(verify_gimple_in_cfg): Use verify_node_sharing_1 for walk_tree.

From-SVN: r195107
This commit is contained in:
Richard Biener 2013-01-11 13:59:28 +00:00 committed by Richard Biener
parent cb24ba82a5
commit 980d081296
2 changed files with 20 additions and 5 deletions

View file

@ -1,3 +1,9 @@
2013-01-11 Richard Biener <rguenther@suse.de>
* tree-cfg.c (verify_node_sharing_1): Split out from ...
(verify_node_sharing): ... here.
(verify_gimple_in_cfg): Use verify_node_sharing_1 for walk_tree.
2013-01-11 Eric Botcazou <ebotcazou@adacore.com>
* configure.ac (Tree checking): Set TREECHECKING to yes if enabled.

View file

@ -4462,13 +4462,12 @@ tree_node_can_be_shared (tree t)
return false;
}
/* Called via walk_gimple_stmt. Verify tree sharing. */
/* Called via walk_tree. Verify tree sharing. */
static tree
verify_node_sharing (tree *tp, int *walk_subtrees, void *data)
verify_node_sharing_1 (tree *tp, int *walk_subtrees, void *data)
{
struct walk_stmt_info *wi = (struct walk_stmt_info *) data;
struct pointer_set_t *visited = (struct pointer_set_t *) wi->info;
struct pointer_set_t *visited = (struct pointer_set_t *) data;
if (tree_node_can_be_shared (*tp))
{
@ -4482,6 +4481,15 @@ verify_node_sharing (tree *tp, int *walk_subtrees, void *data)
return NULL;
}
/* Called via walk_gimple_stmt. Verify tree sharing. */
static tree
verify_node_sharing (tree *tp, int *walk_subtrees, void *data)
{
struct walk_stmt_info *wi = (struct walk_stmt_info *) data;
return verify_node_sharing_1 (tp, walk_subtrees, wi->info);
}
static bool eh_error_found;
static int
verify_eh_throw_stmt_node (void **slot, void *data)
@ -4534,7 +4542,8 @@ verify_gimple_in_cfg (struct function *fn)
for (i = 0; i < gimple_phi_num_args (phi); i++)
{
tree arg = gimple_phi_arg_def (phi, i);
tree addr = walk_tree (&arg, verify_node_sharing, visited, NULL);
tree addr = walk_tree (&arg, verify_node_sharing_1,
visited, NULL);
if (addr)
{
error ("incorrect sharing of tree nodes");