Commit 6569e716 by Richard Guenther Committed by Richard Biener

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
parent fb0a2460
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> 2007-03-09 Alexandre Oliva <aoliva@redhat.com>
* recog.c (decode_asm_operands): No mixed declarations and code. * recog.c (decode_asm_operands): No mixed declarations and code.
......
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> 2007-03-08 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR C/31072 PR C/31072
...@@ -14,5 +14,5 @@ int main (void) ...@@ -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" } } */ /* { dg-final { cleanup-tree-dump "optimized" } } */
...@@ -1596,6 +1596,7 @@ extract_range_from_binary_expr (value_range_t *vr, tree expr) ...@@ -1596,6 +1596,7 @@ extract_range_from_binary_expr (value_range_t *vr, tree expr)
&& code != CEIL_DIV_EXPR && code != CEIL_DIV_EXPR
&& code != EXACT_DIV_EXPR && code != EXACT_DIV_EXPR
&& code != ROUND_DIV_EXPR && code != ROUND_DIV_EXPR
&& code != RSHIFT_EXPR
&& code != MIN_EXPR && code != MIN_EXPR
&& code != MAX_EXPR && code != MAX_EXPR
&& code != BIT_AND_EXPR && code != BIT_AND_EXPR
...@@ -1763,7 +1764,8 @@ extract_range_from_binary_expr (value_range_t *vr, tree expr) ...@@ -1763,7 +1764,8 @@ extract_range_from_binary_expr (value_range_t *vr, tree expr)
|| code == FLOOR_DIV_EXPR || code == FLOOR_DIV_EXPR
|| code == CEIL_DIV_EXPR || code == CEIL_DIV_EXPR
|| code == EXACT_DIV_EXPR || code == EXACT_DIV_EXPR
|| code == ROUND_DIV_EXPR) || code == ROUND_DIV_EXPR
|| code == RSHIFT_EXPR)
{ {
tree val[4]; tree val[4];
size_t i; size_t i;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment