-
- Downloads
re PR tree-optimization/35787 (Revision 133680 breaks 447.dealII)
2008-04-02 Richard Guenther <rguenther@suse.de> * tree-vrp.c (extract_range_from_assert): Make sure to not produce range min/max with TREE_OVERFOW set. If merging a anti-range and a range keep the anti-range if the range covers all values of the type. (register_edge_assert_for_2): Only allow sign-changing conversions in detecting canonical range checks. Also register an assert for the unsigned name if useful. PR tree-optimization/35787 * tree-vrp.c (vrp_val_max): New function. (vrp_val_min): Likewise. (vrp_val_is_max): Move earlier, use vrp_val_{min,max}. (vrp_val_is_min): Likewise. (supports_overflow_infinity): Use vrp_val_{min,max}. (negative_overflow_infinity): Likewise. (positive_overflow_infinity): Likewise. (is_negative_overflow_infinity): Use vrp_val_is_{min,max}. (is_positive_overflow_infinity): Likewise. (is_overflow_infinity): Likewise. (avoid_overflow_infinity): Use vrp_val_{min,max} and vrp_val_is_{min,max}. (set_and_canonicalize_value_range): Canonicalize anti-ranges to ranges if possible. Avoid empty ranges. * gcc.dg/tree-ssa/vrp38.c: New testcase. * gcc.dg/tree-ssa/vrp39.c: Likewise. From-SVN: r133808
Showing
- gcc/ChangeLog 26 additions, 0 deletionsgcc/ChangeLog
- gcc/testsuite/ChangeLog 5 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/gcc.dg/tree-ssa/vrp38.c 21 additions, 0 deletionsgcc/testsuite/gcc.dg/tree-ssa/vrp38.c
- gcc/testsuite/gcc.dg/tree-ssa/vrp39.c 18 additions, 0 deletionsgcc/testsuite/gcc.dg/tree-ssa/vrp39.c
- gcc/tree-vrp.c 186 additions, 89 deletionsgcc/tree-vrp.c
Loading
Please register or sign in to comment