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

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

https://gcc.gnu.org/g:b7a23949b0dcc4205fcc2be6b84b91441faa384d

commit r12-5228-gb7a23949b0dcc4205fcc2be6b84b91441faa384d
Author: Aldy Hernandez <al...@redhat.com>
Date:   Sat Nov 13 12:37:25 2021 +0100

    path solver: Compute all PHI ranges simultaneously.

    PHIs must be resolved simulatenously, otherwise we may not pick up the
    ranges incoming to the block.

    For example.  If we put p3_7 in the cache before all PHIs have been
    computed, we will pick up the wrong p3_7 value for p2_17:

        # p3_7 = PHI <1(2), 0(5)>
        # p2_17 = PHI <1(2), p3_7(5)>

    This patch delays updating the cache until all PHIs have been
    analyzed.

    gcc/ChangeLog:

            PR tree-optimization/103222
            * gimple-range-path.cc (path_range_query::compute_ranges_in_phis):
            New.
            (path_range_query::compute_ranges_in_block): Call
            compute_ranges_in_phis.
            * gimple-range-path.h (path_range_query::compute_ranges_in_phis):
            New.

    gcc/testsuite/ChangeLog:

            * gcc.dg/pr103222.c: New test.

Reply via email to