From a049f08239ada7d4187e9c12fab9c879668a0d05 Mon Sep 17 00:00:00 2001 From: Andrew MacLeod Date: Thu, 9 May 2024 14:14:31 -0400 Subject: Gori_compute no longer inherits from gori_map. This patch moves the gori_compute object away from inheriting a gori_map object and instead it as a local member. Export it via map (). * gimple-range-cache.cc (ranger_cache::ranger_cache): Access gori_map via member call. (ranger_cache::dump_bb): Likewise. (ranger_cache::get_global_range): Likewise. (ranger_cache::set_global_range): Likewise. (ranger_cache::register_inferred_value): Likewise. * gimple-range-fold.cc (fold_using_range::range_of_range_op): Likewise. (fold_using_range::range_of_address): Likewise. (fold_using_range::range_of_phi): Likewise. * gimple-range-gori.cc (gori_compute::compute_operand_range_switch): likewise. (gori_compute::compute_operand_range): Likewise. (gori_compute::compute_logical_operands): Likewise. (gori_compute::refine_using_relation): Likewise. (gori_compute::compute_operand1_and_operand2_range): Likewise. (gori_compute::may_recompute_p): Likewise. (gori_compute::has_edge_range_p): Likewise. (gori_compute::outgoing_edge_range_p): Likewise. (gori_compute::condexpr_adjust): Likewise. * gimple-range-gori.h (class gori_compute): Do not inherit from gori_map. (gori_compute::m_map): New. * gimple-range-path.cc (gimple-range-path.cc): Use gori_map member. (path_range_query::compute_exit_dependencies): Likewise. * gimple-range.cc (gimple_ranger::range_of_stmt): Likewise. (gimple_ranger::register_transitive_inferred_ranges): Likewise. * tree-ssa-dom.cc (set_global_ranges_from_unreachable_edges): Likewise. * tree-ssa-threadedge.cc (compute_exit_dependencies): Likewise. * tree-vrp.cc (remove_unreachable::handle_early): Likewise. (remove_unreachable::remove_and_update_globals): Likewise. --- gcc/tree-vrp.cc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'gcc/tree-vrp.cc') diff --git a/gcc/tree-vrp.cc b/gcc/tree-vrp.cc index a36c08f..be9df39 100644 --- a/gcc/tree-vrp.cc +++ b/gcc/tree-vrp.cc @@ -210,14 +210,14 @@ remove_unreachable::handle_early (gimple *s, edge e) // Check if every export use is dominated by this branch. tree name; - FOR_EACH_GORI_EXPORT_NAME (m_ranger.gori (), e->src, name) + FOR_EACH_GORI_EXPORT_NAME (*(m_ranger.gori ().map ()), e->src, name) { if (!fully_replaceable (name, e->src)) return; } // Set the global value for each. - FOR_EACH_GORI_EXPORT_NAME (m_ranger.gori (), e->src, name) + FOR_EACH_GORI_EXPORT_NAME (*(m_ranger.gori ().map ()), e->src, name) { Value_Range r (TREE_TYPE (name)); m_ranger.range_on_entry (r, e->dest, name); @@ -287,7 +287,7 @@ remove_unreachable::remove_and_update_globals () gcc_checking_assert (gimple_code (s) == GIMPLE_COND); bool dominate_exit_p = true; - FOR_EACH_GORI_EXPORT_NAME (m_ranger.gori (), e->src, name) + FOR_EACH_GORI_EXPORT_NAME (*(m_ranger.gori ().map ()), e->src, name) { // Ensure the cache is set for NAME in the succ block. Value_Range r(TREE_TYPE (name)); @@ -304,7 +304,8 @@ remove_unreachable::remove_and_update_globals () // If the exit is dominated, add to the export list. Otherwise if this // isn't the final VRP pass, leave the call in the IL. if (dominate_exit_p) - bitmap_ior_into (all_exports, m_ranger.gori ().exports (e->src)); + bitmap_ior_into (all_exports, + m_ranger.gori ().map ()->exports (e->src)); else if (!final_p) continue; -- cgit v1.1