aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vrp.cc
diff options
context:
space:
mode:
authorAndrew MacLeod <amacleod@redhat.com>2024-05-09 14:14:31 -0400
committerAndrew MacLeod <amacleod@redhat.com>2024-05-23 16:49:33 -0400
commita049f08239ada7d4187e9c12fab9c879668a0d05 (patch)
tree275293edacec292c34eb2c71a394d36fe8588690 /gcc/tree-vrp.cc
parent76153635b9dc811b3ddc2c2e028d74c92d174c2e (diff)
downloadgcc-a049f08239ada7d4187e9c12fab9c879668a0d05.zip
gcc-a049f08239ada7d4187e9c12fab9c879668a0d05.tar.gz
gcc-a049f08239ada7d4187e9c12fab9c879668a0d05.tar.bz2
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.
Diffstat (limited to 'gcc/tree-vrp.cc')
-rw-r--r--gcc/tree-vrp.cc9
1 files changed, 5 insertions, 4 deletions
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;