diff options
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/tree-cfg.c | 2 | ||||
-rw-r--r-- | gcc/tree-vrp.c | 8 |
3 files changed, 9 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d2599353201..2b2a30761e1 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 5cff71f70c0..fec1d64c029 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 273b5fdfdc0..7ea026272b8 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) |