tree-vrp.h (class value_range_base): New base class for value_range containing all...
authorRichard Biener <rguenther@suse.de>
Sun, 11 Nov 2018 08:51:34 +0000 (08:51 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Sun, 11 Nov 2018 08:51:34 +0000 (08:51 +0000)
commit2506b92c5671effff294a9f1f80272d6e56b75d0
tree732562c6401b328f3dea5c5aab7282991ba039d4
parent3d18dc9db0513eae3dba69fb143e35cbe8c34f20
tree-vrp.h (class value_range_base): New base class for value_range containing all but the m_equiv member.

2018-11-11  Richard Biener  <rguenther@suse.de>

* tree-vrp.h (class value_range_base): New base class for
value_range containing all but the m_equiv member.
(dump_value_range_base): Add.
(range_includes_zero_p): Work on value_range_base.
* tree-vrp.c (value_range_base::set): Split out base handling
from...
(value_range::set): this.
(value_range::set_equiv): New.
(value_range_base::value_range_base): New constructors.
(value_range_base::check): Split out base handling from...
(value_range::check): this.
(value_range::equal_p): Refactor in terms of
ignore_equivs_equal_p which is now member of the base.
(value_range_base::set_undefined): New.
(value_range_base::set_varying): Likewise.
(value_range_base::dump):Split out base handling from...
(value_range::dump): this.
(value_range_base::set_and_canonicalize): Split out base handling
from...
(value_range::set_and_canonicalize): this.
(value_range_base::union_): New.
* ipa-prop.h (struct ipa_jump_func): Use value_range_base *
for m_vr.
* ipa-cp.c (class ipcp_vr_lattice): Use value_range_base
instead of value_range everywhere.
(ipcp_vr_lattice::print): Use dump_value_range_base.
(ipcp_vr_lattice::meet_with): Adjust.
(ipcp_vr_lattice::meet_with_1): Likewise.
(ipa_vr_operation_and_type_effects): Likewise.
(propagate_vr_across_jump_function): Likewise.
* ipa-prop.c (struct ipa_vr_ggc_hash_traits): Likewise.
(ipa_get_value_range): Likewise.
(ipa_set_jfunc_vr): Likewise.
(ipa_compute_jump_functions_for_edge): Likewise.

From-SVN: r266011
gcc/ChangeLog
gcc/ipa-cp.c
gcc/ipa-prop.c
gcc/ipa-prop.h
gcc/tree-vrp.c
gcc/tree-vrp.h