aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple-range-fold.h
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/gimple-range-fold.h
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/gimple-range-fold.h')
-rw-r--r--gcc/gimple-range-fold.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/gimple-range-fold.h b/gcc/gimple-range-fold.h
index 9ae6cf5..b240a6e 100644
--- a/gcc/gimple-range-fold.h
+++ b/gcc/gimple-range-fold.h
@@ -105,7 +105,9 @@ class fur_source
{
public:
fur_source (range_query *q = NULL);
- inline range_query *query () { return m_query; }
+ inline range_query *query () const { return m_query; }
+ inline gori_map *gori_bb () const
+ { return (m_depend_p && m_query) ? m_query->gori_ssa () : NULL; }
inline class gimple_outgoing_range *gori ()
{ return m_depend_p ? &(m_query->gori ()) : NULL; }
virtual bool get_operand (vrange &r, tree expr);