]> git.ipfire.org Git - thirdparty/gcc.git/commit
Add sbr_lazy_vector and adjust (e)vrp sparse cache
authorAndrew MacLeod <amacleod@redhat.com>
Thu, 13 Apr 2023 18:47:47 +0000 (14:47 -0400)
committerAndrew MacLeod <amacleod@redhat.com>
Wed, 26 Apr 2023 19:17:08 +0000 (15:17 -0400)
commitb6dea04fca6f249c553cb18d670a0845cd0579f8
tree5883ecad924ad10817c08afd1ee69c80ab8699de
parentbf50499a14943b64f19bd72c60422683f7ecd0ee
Add sbr_lazy_vector and adjust (e)vrp sparse cache

Add a sparse vector class for cache and use if by default.
Rename the evrp_* params to vrp_*, and add a param for small CFGS which use
just the original basic vector.

* gimple-range-cache.cc (sbr_vector::sbr_vector): Add parameter
and local to optionally zero memory.
(br_vector::grow): Only zero memory if flag is set.
(class sbr_lazy_vector): New.
(sbr_lazy_vector::sbr_lazy_vector): New.
(sbr_lazy_vector::set_bb_range): New.
(sbr_lazy_vector::get_bb_range): New.
(sbr_lazy_vector::bb_range_p): New.
(block_range_cache::set_bb_range): Check flags and Use sbr_lazy_vector.
* gimple-range-gori.cc (gori_map::calculate_gori): Use
param_vrp_switch_limit.
(gori_compute::gori_compute): Use param_vrp_switch_limit.
* params.opt (vrp_sparse_threshold): Rename from evrp_sparse_threshold.
(vrp_switch_limit): Rename from evrp_switch_limit.
(vrp_vector_threshold): New.
gcc/gimple-range-cache.cc
gcc/gimple-range-gori.cc
gcc/params.opt