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

--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Alexandre Oliva <aol...@gcc.gnu.org>:

https://gcc.gnu.org/g:15404016d96dca9132b952980cda24cae33b3ee0

commit r14-5033-g15404016d96dca9132b952980cda24cae33b3ee0
Author: Alexandre Oliva <ol...@adacore.com>
Date:   Tue Oct 31 09:32:08 2023 -0300

    hardcfr: support checking at abnormal edges [PR111943]

    Control flow redundancy may choose abnormal edges for early checking,
    but that breaks because we can't insert checks on such edges.

    Introduce conditional checking on the dest block of abnormal edges,
    and leave it for the optimizer to drop the conditional.


    for  gcc/ChangeLog

            PR tree-optimization/111943
            * gimple-harden-control-flow.cc: Adjust copyright year.
            (rt_bb_visited): Add vfalse and vtrue data members.
            Zero-initialize them in the ctor.
            (rt_bb_visited::insert_exit_check_on_edge): Upon encountering
            abnormal edges, insert initializers for vfalse and vtrue on
            entry, and insert the check sequence guarded by a conditional
            in the dest block.

    for  libgcc/ChangeLog

            * hardcfr.c: Adjust copyright year.

    for  gcc/testsuite/ChangeLog

            PR tree-optimization/111943
            * gcc.dg/harden-cfr-pr111943.c: New.

Reply via email to