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

--- Comment #4 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jeff Law <l...@gcc.gnu.org>:

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

commit r15-3074-gcdc9cd4afe8949276a0c50215eb7f23e2086044f
Author: Jeff Law <j...@ventanamicro.com>
Date:   Wed Aug 21 16:52:23 2024 -0600

    [PR rtl-optimization/116437] Fix RTL checking issue in ext-dce

    Another RTL checking failure in ext-dce.  An easy one to fix this time.

    When we optimize an extension we have to go back and cleanup with
    SUBREG_PROMOTED state.  So we record the destination register into a bitmap
as
    we make changes, then later do a single pass over the IL fixing any
associated
    subreg expressions.

    The optimization is changing the SET_SRC and largely ignores the
destination.
    The LHS could be a REG, SUBREG, or ZERO_EXTRACT.  If the LHS is a SUBREG or
    ZERO_EXTRACT we can just strip them.

    Bootstrapped and ran the testsuite with an RTL checking compiler and
verified
    no ext-dce RTL checking failures tripped.  Also bootstrapped and regression
    tested x86_64 in the usual way.

    Pushing to the trunk.

            PR rtl-optimization/116437
    gcc/
            * ext-dce.cc (ext_dce_try_optimize_insn): Handle SUBREG and
            ZERO_EXTRACT destinations.

Reply via email to