]> gcc.gnu.org Git - gcc.git/commit - gcc/gimple-range-cache.h
Implement a sparse bitmap representation for Rangers on-entry cache.
authorAndrew MacLeod <amacleod@redhat.com>
Mon, 7 Jun 2021 17:18:55 +0000 (13:18 -0400)
committerAndrew MacLeod <amacleod@redhat.com>
Mon, 7 Jun 2021 21:31:01 +0000 (17:31 -0400)
commit9858cd1a6827ee7a928318acb5e86389f79b4012
tree25e179d4dd5e22ee1d570f29325f836fc53f39ba
parent5ad089a3c946aec655436fa3b0b50d6574b78197
Implement a sparse bitmap representation for Rangers on-entry cache.

Use a sparse representation for the on entry cache, and utilize it when
the number of basic blocks in the function exceeds param_evrp_sparse_threshold.

PR tree-optimization/PR100299
* gimple-range-cache.cc (class sbr_sparse_bitmap): New.
(sbr_sparse_bitmap::sbr_sparse_bitmap): New.
(sbr_sparse_bitmap::bitmap_set_quad): New.
(sbr_sparse_bitmap::bitmap_get_quad): New.
(sbr_sparse_bitmap::set_bb_range): New.
(sbr_sparse_bitmap::get_bb_range): New.
(sbr_sparse_bitmap::bb_range_p): New.
(block_range_cache::block_range_cache): initialize bitmap obstack.
(block_range_cache::~block_range_cache): Destruct obstack.
(block_range_cache::set_bb_range): Decide when to utilze the
sparse on entry cache.
* gimple-range-cache.h (block_range_cache): Add bitmap obstack.
* params.opt (-param=evrp-sparse-threshold): New.
gcc/gimple-range-cache.cc
gcc/gimple-range-cache.h
gcc/params.opt
This page took 0.058321 seconds and 5 git commands to generate.