diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 444f34297c4956357e52655bb4e5406c66445e0e..358a8eff6cc9f294c7253942080ad7c1fac18034 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2008-04-01 Rafael Espindola <espindola@google.com> + + * tree-cfg.c (verify_expr): remove in_phi. + (verify_stmt): Don't call walk_tree with verify_expr. Use + is_gimple_min_invariant instead of is_gimple_val. + 2008-04-01 Joseph Myers <joseph@codesourcery.com> * doc/include/gpl_v3.texi: Update for manpage generation. diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 6c4b3115b04b2da4be50ef4388bea334ca339dda..944b31f3725e3825efcd17b96c832c9301eba4bc 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -3113,7 +3113,6 @@ static tree verify_expr (tree *tp, int *walk_subtrees, void *data ATTRIBUTE_UNUSED) { tree t = *tp, x; - bool in_phi = (data != NULL); if (TYPE_P (t)) *walk_subtrees = 0; @@ -3164,23 +3163,6 @@ verify_expr (tree *tp, int *walk_subtrees, void *data ATTRIBUTE_UNUSED) bool new_constant; bool new_side_effects; - /* ??? tree-ssa-alias.c may have overlooked dead PHI nodes, missing - dead PHIs that take the address of something. But if the PHI - result is dead, the fact that it takes the address of anything - is irrelevant. Because we can not tell from here if a PHI result - is dead, we just skip this check for PHIs altogether. This means - we may be missing "valid" checks, but what can you do? - This was PR19217. */ - if (in_phi) - { - if (!is_gimple_min_invariant (t)) - { - error ("non-invariant address expression in PHI argument"); - return t; - } - break; - } - old_invariant = TREE_INVARIANT (t); old_constant = TREE_CONSTANT (t); old_side_effects = TREE_SIDE_EFFECTS (t); @@ -4338,7 +4320,7 @@ verify_stmts (void) are not considered gimple values. */ else if (TREE_CODE (t) != SSA_NAME && TREE_CODE (t) != FUNCTION_DECL - && !is_gimple_val (t)) + && !is_gimple_min_invariant (t)) { error ("PHI def is not a GIMPLE value"); debug_generic_stmt (phi); @@ -4346,13 +4328,6 @@ verify_stmts (void) err |= true; } - addr = walk_tree (&t, verify_expr, (void *) 1, NULL); - if (addr) - { - debug_generic_stmt (addr); - err |= true; - } - addr = walk_tree (&t, verify_node_sharing, visited, NULL); if (addr) {