https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100150

--- Comment #17 from rguenther at suse dot de <rguenther at suse dot de> ---
On Tue, 10 Aug 2021, marxin at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100150
> 
> Martin Liška <marxin at gcc dot gnu.org> changed:
> 
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>                  CC|                            |amacleod at redhat dot com
> 
> --- Comment #16 from Martin Liška <marxin at gcc dot gnu.org> ---
> > Looking at the git diff releases/gcc-11.1.0..releases/gcc-11.2.0, I don't
> > see any LTO-related change that would break the LTO stream. But it may come
> > from a FE.
> 
> This one is caused by change here:
> 
> commit 52f0aa4dee8401ef3958dbf789780b0ee877beab
> Author: Andrew MacLeod <amacl...@redhat.com>
> Date:   Mon Jun 7 13:18:55 2021 -0400
> 
>     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/100299
>             * 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.

Altering any *.opt can indeed cause compatibility breakage.  Streaming
options in a less fragile way would be nice.

Reply via email to