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

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

https://gcc.gnu.org/g:5deacf6058d1bc7261a75c9fd1f116c4442e9e60

commit r12-5505-g5deacf6058d1bc7261a75c9fd1f116c4442e9e60
Author: Andrew MacLeod <amacl...@redhat.com>
Date:   Mon Nov 22 14:39:41 2021 -0500

    Directly resolve range_of_stmt dependencies.

    All ranger API entries eventually call range_of_stmt to ensure there is an
    initial global value to work with.  This can cause very deep call chains
when
    satisfied via the normal API.  Instead, push any dependencies onto a stack
    and evaluate them in a depth first manner, mirroring what would have
happened
    via the normal API calls.

            PR tree-optimization/103231
            gcc/
            * gimple-range.cc (gimple_ranger::gimple_ranger): Create stmt
stack.
            (gimple_ranger::gimple_ranger): Delete stmt stack.
            (gimple_ranger::range_of_stmt): Process depenedencies if they have
no
            global cache entry.
            (gimple_ranger::prefill_name): New.
            (gimple_ranger::prefill_stmt_dependencies): New.
            * gimple-range.h (class gimple_ranger): Add prototypes.

Reply via email to