diff options
author | Richard Guenther <rguenther@suse.de> | 2007-03-09 12:29:09 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2007-03-09 12:29:09 +0000 |
commit | 6569e7164326f050bb5fe58f1fa960d4efc23b9a (patch) | |
tree | ad0afb138af70a13d08f511f33e7f57ccdc3288a /gcc/tree-vrp.c | |
parent | fb0a24601dd929dac9962358497b8af1856cbd02 (diff) | |
download | gcc-6569e7164326f050bb5fe58f1fa960d4efc23b9a.zip gcc-6569e7164326f050bb5fe58f1fa960d4efc23b9a.tar.gz gcc-6569e7164326f050bb5fe58f1fa960d4efc23b9a.tar.bz2 |
re PR tree-optimization/30904 (VRP does not track values of shifts and/or bitfields?)
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.
* gcc.dg/pr30904.c: Remove xfail.
From-SVN: r122748
Diffstat (limited to 'gcc/tree-vrp.c')
-rw-r--r-- | gcc/tree-vrp.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c index 74f63e2..086c6dd 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; |