[Bug tree-optimization/98174] [11 Regression] Ranger takes too much memory

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Dec 10 21:35:22 GMT 2020


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

--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Andrew Macleod <amacleod@gcc.gnu.org>:

https://gcc.gnu.org/g:7f359556a772e26eabf8d31e53aae1de6f2f200d

commit r11-5921-g7f359556a772e26eabf8d31e53aae1de6f2f200d
Author: Andrew MacLeod <amacleod@redhat.com>
Date:   Thu Dec 10 14:59:14 2020 -0500

    Reduce memory requirements for ranger

    Calculate block exit info upfront, and then any SSA_NAME which is never
    used in an outgoing range calculation is a pure global and can bypass the
    on-entry cache.

            PR tree-optimization/98174
            * gimple-range-cache.cc (ranger_cache::ssa_range_in_bb): Only push
            poor values to be examined if it isn't a pure global.
            (ranger_cache::block_range): Don't process pure globals.
            (ranger_cache::fill_block_cache): Adjust has_edge_range call.
            * gimple-range-gori.cc (gori_map::all_outgoing): New bitmap.
            (gori_map::gori_map): Allocate all_outgoing.
            (gori_map::is_export_p): No specified BB returns global context.
            (gori_map::calculate_gori): Accumulate each block into global.
            (gori_compute::gori_compute): Preprocess each block for exports.
            (gori_compute::has_edge_range_p): No edge returns global context.
            * gimple-range-gori.h (has_edge_range_p): Provide default
parameter.


More information about the Gcc-bugs mailing list