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