diff options
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pr30904.c | 2 | ||||
-rw-r--r-- | gcc/tree-vrp.c | 4 |
4 files changed, 17 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 71f203b8332..576aab08f04 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2007-03-09 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/30904 + PR middle-end/31058 + * tree-vrp.c (extract_range_from_binary_expr): Handle RSHIFT_EXPR + the same way as *_DIV_EXPR. + 2007-03-09 Alexandre Oliva <aoliva@redhat.com> * recog.c (decode_asm_operands): No mixed declarations and code. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ba0392e8b33..212bb211034 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2007-03-09 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/30904 + PR middle-end/31058 + * gcc.dg/pr30904.c: Remove xfail. + 2007-03-08 Andrew Pinski <andrew_pinski@playstation.sony.com> PR C/31072 diff --git a/gcc/testsuite/gcc.dg/pr30904.c b/gcc/testsuite/gcc.dg/pr30904.c index bcd9048fe21..31ca0497f91 100644 --- a/gcc/testsuite/gcc.dg/pr30904.c +++ b/gcc/testsuite/gcc.dg/pr30904.c @@ -14,5 +14,5 @@ int main (void) } -/* { dg-final { scan-tree-dump-times "link_error" 0 "optimized" { xfail *-*-* } } } */ +/* { dg-final { scan-tree-dump-times "link_error" 0 "optimized" } } */ /* { dg-final { cleanup-tree-dump "optimized" } } */ diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c index 74f63e24788..086c6dd9749 100644 --- a/gcc/tree-vrp.c +++ b/gcc/tree-vrp.c @@ -1596,6 +1596,7 @@ extract_range_from_binary_expr (value_range_t *vr, tree expr) && code != CEIL_DIV_EXPR && code != EXACT_DIV_EXPR && code != ROUND_DIV_EXPR + && code != RSHIFT_EXPR && code != MIN_EXPR && code != MAX_EXPR && code != BIT_AND_EXPR @@ -1763,7 +1764,8 @@ extract_range_from_binary_expr (value_range_t *vr, tree expr) || code == FLOOR_DIV_EXPR || code == CEIL_DIV_EXPR || code == EXACT_DIV_EXPR - || code == ROUND_DIV_EXPR) + || code == ROUND_DIV_EXPR + || code == RSHIFT_EXPR) { tree val[4]; size_t i; |