aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vrp.cc
diff options
context:
space:
mode:
authorAndrew MacLeod <amacleod@redhat.com>2024-05-21 14:20:52 -0400
committerAndrew MacLeod <amacleod@redhat.com>2024-05-23 16:50:00 -0400
commitfae5e6a4dfcf9270cd09c2240480860b09c2c627 (patch)
tree145e6647c4efbc8baaa3a0cdd8f6fbe6c88cb806 /gcc/tree-vrp.cc
parentac0bc89aea79b940a17697fb4a758254631c2400 (diff)
downloadgcc-fae5e6a4dfcf9270cd09c2240480860b09c2c627.zip
gcc-fae5e6a4dfcf9270cd09c2240480860b09c2c627.tar.gz
gcc-fae5e6a4dfcf9270cd09c2240480860b09c2c627.tar.bz2
Make gori_map a shared component.
Move gori_map dependency and import/export object into a range query and construct it simultaneously with a gori object. * gimple-range-cache.cc (ranger_cache::ranger_cache): Use gori_ssa. (ranger_cache::dump): Likewise. (ranger_cache::get_global_range): Likewise. (ranger_cache::set_global_range): Likewise. (ranger_cache::register_inferred_value): Likewise. * gimple-range-edge.h (gimple_outgoing_range::map): Remove. * gimple-range-fold.cc (fold_using_range::range_of_range_op): Use gori_ssa. (fold_using_range::range_of_address): Likewise. (fold_using_range::range_of_phi): Likewise. (fur_source::register_outgoing_edges): Likewise. * gimple-range-fold.h (fur_source::query): Make const. (gori_ssa): New. * gimple-range-gori.cc (gori_map::dump): Use 'this' pointer. (gori_compute::gori_compute): Construct with a gori_map. * gimple-range-gori.h (gori_compute:gori_compute): Change prototype. (gori_compute::map): Delete. (gori_compute::m_map): Change to a reference. (FOR_EACH_GORI_IMPORT_NAME): Change parameter gori to gorimap. (FOR_EACH_GORI_EXPORT_NAME): Likewise. * gimple-range-path.cc (path_range_query::compute_ranges_in_block): Use gori_ssa method. (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. * value-query.cc (range_query::create_gori): Create gori map. (range_query::share_query): Copy gori map member. (range_query::range_query): Initiialize gori_map member. * value-query.h (range_query::gori_ssa): New. (range_query::m_map): New.
Diffstat (limited to 'gcc/tree-vrp.cc')
-rw-r--r--gcc/tree-vrp.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/tree-vrp.cc b/gcc/tree-vrp.cc
index be9df39..7d7f9fe 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 ().map ()), e->src, name)
+ FOR_EACH_GORI_EXPORT_NAME (m_ranger.gori_ssa (), e->src, name)
{
if (!fully_replaceable (name, e->src))
return;
}
// Set the global value for each.
- FOR_EACH_GORI_EXPORT_NAME (*(m_ranger.gori ().map ()), e->src, name)
+ FOR_EACH_GORI_EXPORT_NAME (m_ranger.gori_ssa (), 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 ().map ()), e->src, name)
+ FOR_EACH_GORI_EXPORT_NAME (m_ranger.gori_ssa (), e->src, name)
{
// Ensure the cache is set for NAME in the succ block.
Value_Range r(TREE_TYPE (name));
@@ -305,7 +305,7 @@ remove_unreachable::remove_and_update_globals ()
// isn't the final VRP pass, leave the call in the IL.
if (dominate_exit_p)
bitmap_ior_into (all_exports,
- m_ranger.gori ().map ()->exports (e->src));
+ m_ranger.gori_ssa ()->exports (e->src));
else if (!final_p)
continue;