diff options
author | Richard Guenther <rguenther@suse.de> | 2008-04-01 22:59:21 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2008-04-01 22:59:21 +0000 |
commit | 70b7b0376ecb761a23a30c4626cb14d9f6cecda6 (patch) | |
tree | 40f23dcdada81b8d07eede1a1d8ad564eff36e94 /gcc/function.c | |
parent | a6a0635ec111936464b2529edf809b17fe29d4c3 (diff) | |
download | gcc-70b7b0376ecb761a23a30c4626cb14d9f6cecda6.zip gcc-70b7b0376ecb761a23a30c4626cb14d9f6cecda6.tar.gz gcc-70b7b0376ecb761a23a30c4626cb14d9f6cecda6.tar.bz2 |
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
Diffstat (limited to 'gcc/function.c')
0 files changed, 0 insertions, 0 deletions