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

--- Comment #17 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:53e6d7a3102409f0f2a5a9ffbfbeaa62c135d991

commit r13-3394-g53e6d7a3102409f0f2a5a9ffbfbeaa62c135d991
Author: Andrew MacLeod <amacl...@redhat.com>
Date:   Tue Oct 18 16:29:49 2022 -0400

    Add assume support to VRP.

    This provides an assume_query class using rangers GORI module to
    determine what ranges would be applied to any SSA NAMES in the function
    if the return value were [1, 1].  Any parameter ranges are stored in
    the SSA_NAME_RANGE_INFO field, and ranger's inferred range machinery is
    then used to look these up and match them to assume call parameteres
    in the bodies of other functions..

            PR c++/106654
            gcc/
            * gimple-range-gori.h (compute_operand_range): Make public.
            * gimple-range-infer.cc (gimple_infer_range::check_assume_func):
New.
            (gimple_infer_range::gimple_infer_range): Check for assume calls.
            * gimple-range-infer.h (check_assume_func): Add prototype.
            * gimple-range.cc (assume_query::assume_range_p): New.
            (assume_query::range_of_expr): New.
            (assume_query::assume_query): New.
            (assume_query::calculate_op): New.
            (assume_query::calculate_phi): New.
            (assume_query::check_taken_edge): New.
            (assume_query::calculate_stmt): New.
            (assume_query::dump): New.
            * gimple-range.h (class assume_query): New.
            * tree-vrp.cc (pass_assumptions::execute): Add processing.

            gcc/testsuite/
            * g++.dg/cpp23/attr-assume-opt.C: New.

Reply via email to