diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d2599353201cc12f64490447d833d28439be67de..2b2a30761e128d76aa75aabcb8f37bc4ace93256 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2008-04-10  Rafael Espindola  <espindola@google.com>
+
+	* gcc/tree-vrp.c (extract_range_from_binary_expr): Don't handle
+	TRUTH_ANDIF_EXPR or TRUTH_ORIF_EXPR.
+	(extract_range_from_expr): The same.
+
 2008-04-10  Adam Nemet  <anemet@caviumnetworks.com>
 
 	* config/mips/mips.md (GPR2): New mode iterator.
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 5cff71f70c032ec219594ec01812ace80080af2d..fec1d64c029e3e920c86c21a994b66ba588cffa9 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -3854,6 +3854,8 @@ verify_gimple_expr (tree expr)
 
     case TRUTH_ANDIF_EXPR:
     case TRUTH_ORIF_EXPR:
+      gcc_unreachable ();
+
     case TRUTH_AND_EXPR:
     case TRUTH_OR_EXPR:
     case TRUTH_XOR_EXPR:
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
index 273b5fdfdc07c3b3794c8110e2daa74690d8ae05..7ea026272b859f8a404e271a225987fad597ff04 100644
--- a/gcc/tree-vrp.c
+++ b/gcc/tree-vrp.c
@@ -1887,8 +1887,6 @@ extract_range_from_binary_expr (value_range_t *vr,
       && code != MIN_EXPR
       && code != MAX_EXPR
       && code != BIT_AND_EXPR
-      && code != TRUTH_ANDIF_EXPR
-      && code != TRUTH_ORIF_EXPR
       && code != TRUTH_AND_EXPR
       && code != TRUTH_OR_EXPR)
     {
@@ -1975,9 +1973,7 @@ extract_range_from_binary_expr (value_range_t *vr,
 
   /* For integer ranges, apply the operation to each end of the
      range and see what we end up with.  */
-  if (code == TRUTH_ANDIF_EXPR
-      || code == TRUTH_ORIF_EXPR
-      || code == TRUTH_AND_EXPR
+  if (code == TRUTH_AND_EXPR
       || code == TRUTH_OR_EXPR)
     {
       /* If one of the operands is zero, we know that the whole
@@ -2751,8 +2747,6 @@ extract_range_from_expr (value_range_t *vr, tree expr)
   else if (code == SSA_NAME)
     extract_range_from_ssa_name (vr, expr);
   else if (TREE_CODE_CLASS (code) == tcc_binary
-	   || code == TRUTH_ANDIF_EXPR
-	   || code == TRUTH_ORIF_EXPR
 	   || code == TRUTH_AND_EXPR
 	   || code == TRUTH_OR_EXPR
 	   || code == TRUTH_XOR_EXPR)