More tweaks from gimple_outgoing_range changes.
commit6f36cc2535c11b9406715836daeb87169fa79473
authorAndrew MacLeod <amacleod@redhat.com>
Wed, 22 May 2024 23:27:01 +0000 (22 19:27 -0400)
committerAndrew MacLeod <amacleod@redhat.com>
Tue, 28 May 2024 21:43:54 +0000 (28 17:43 -0400)
treeb1d0e44eadc539951c6b24d785e22fe5cc4d1c88
parent802a98d128f9b0eea2432f6511328d14e0bd721b
More tweaks from gimple_outgoing_range changes.

the dom_ranger used for fast vrp no longer needs a local
gimple_outgoing_range object as it is now always available from the
range_query parent class.

The builtin_unreachable code for adjusting globals and removing the
builtin calls during the final VRP pass can now function with just
a range_query object rather than a specific ranger.   This adjusts it to
use the extra methods in the range_query API.
This will now allow removal of builtin_unreachable calls even if there is no
active ranger with dependency info available.

* gimple-range.cc (dom_ranger::dom_ranger): Do not initialize m_out.
(dom_ranger::maybe_push_edge): Use gori () rather than m_out.
* gimple-range.h (dom_ranger::m_out): Remove.
* tree-vrp.cc (remove_unreachable::remove_unreachable): Use a
range-query ranther than a gimple_ranger.
(remove_unreachable::remove): New.
(remove_unreachable::m_ranger): Change to a range_query.
(remove_unreachable::handle_early): If there is no dependency
information, do nothing.
(remove_unreachable::remove_and_update_globals): Do not update
globals if there is no dependecy info to use.
gcc/gimple-range.cc
gcc/gimple-range.h
gcc/tree-vrp.cc