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

--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Aldy Hernandez <[email protected]>:

https://gcc.gnu.org/g:442eb35f4d2ed59a7977bf4f93a2e2545a5b451c

commit r17-5593-g442eb35f4d2ed59a7977bf4f93a2e2545a5b451c
Author: Aldy Hernandez <[email protected]>
Date:   Mon Oct 26 14:16:44 2026 +0000

    sccvn: keep the executable dominators until finalize [PR128182]

    It looks like r17-5574 introduced a global table, vn_exec_idom, that
    we need to handle in vn_driver::finalize now.  Not doing so is causing
    a bootstrap failure, as I neglected to do a full regstrap before I
    pushed the last commit in this area.  It had been a few days since my
    testing, and a ./cc1 build and selftests were not enough.  Sorry.

    Have the driver own the new global, as we do for the RPO numbering,
    and have finalize point the walk's globals at both while it cleans up.
    dominated_by_p_w_unex indexes the table by RPO number, so finalize
    points vn_bb_to_rpo at the driver's numbering as well.

    Keeping the table until finalize also allows us to use the value
    numbers between walk and finalize.

    Tested on ppc64le Linux.

            PR bootstrap/128182

    gcc/ChangeLog:

            * tree-ssa-sccvn.h (class vn_driver): Add m_exec_idom.
            * tree-ssa-sccvn.cc (do_rpo_vn_1): Take the table of executable
            dominators from the caller and do not free it.
            (vn_driver::vn_driver): Allocate it.
            (vn_driver::~vn_driver): Free it.
            (vn_driver::finalize): Point vn_bb_to_rpo and vn_exec_idom at the
            walk's tables while cleaning up.

Reply via email to