]> git.ipfire.org Git - thirdparty/gcc.git/commit
Move bitmask routines to vrange base class.
authorAldy Hernandez <aldyh@redhat.com>
Thu, 22 Feb 2024 08:18:46 +0000 (09:18 +0100)
committerAldy Hernandez <aldyh@redhat.com>
Sun, 28 Apr 2024 19:03:00 +0000 (21:03 +0200)
commitfd4cf7a092bb2ce21c0d8246c17c0b7f82de440c
tree65905f542f5a027c19b8923e348f5f0744671469
parentba1a8e8eed963c0253c6e5550c8bccc264c5d469
Move bitmask routines to vrange base class.

Any range can theoretically have a bitmask of set bits.  This patch
moves the bitmask accessors to the base class.  This cleans up some
users in IPA*, and will provide a cleaner interface when prange is in
place.

gcc/ChangeLog:

* ipa-cp.cc (propagate_bits_across_jump_function): Access bitmask
through base class.
(ipcp_store_vr_results): Same.
* ipa-prop.cc (ipa_compute_jump_functions_for_edge): Same.
(ipcp_get_parm_bits): Same.
(ipcp_update_vr): Same.
* range-op-mixed.h (update_known_bitmask): Change argument to vrange.
* range-op.cc (update_known_bitmask): Same.
* value-range.cc (vrange::update_bitmask):  New.
(irange::set_nonzero_bits): Move to vrange class.
(irange::get_nonzero_bits): Same.
* value-range.h (class vrange): Add update_bitmask, get_bitmask,
get_nonzero_bits, and set_nonzero_bits.
(class irange): Make bitmask methods virtual overrides.
(class Value_Range): Add get_bitmask and update_bitmask.
gcc/ipa-cp.cc
gcc/ipa-prop.cc
gcc/range-op-mixed.h
gcc/range-op.cc
gcc/value-range.cc
gcc/value-range.h