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

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

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

commit r17-4453-ga87de1ad7ab071584907f123ffd7940b3f74f17c
Author: Zhongyao Chen <[email protected]>
Date:   Fri Sep 18 15:57:01 2026 -0600

    [PATCH] ext-dce: Mark all spanned hard registers live for multi-reg
references [PR127367]

    In pr127367, ext-dce sees multi-reg hard regs like (reg:TI a0) in call
    fusage on riscv64.  It fails to record a1 in livenow, so the preceding
    extensions are wrongly eliminated.

    This patch uses an iteration over all spanned hard registers (via
    end_hard_regno) to mark their chunks live for HARD_REGISTER_P.

            PR rtl-optimization/127367

    gcc/ChangeLog:

            * ext-dce.cc: Include regs.h.
            (ext_dce_process_uses): Handle multi-register hard regs.

    gcc/testsuite/ChangeLog:

            * gcc.dg/torture/pr127367.c: New test.

    Signed-off-by: Zhongyao Chen <[email protected]>

Reply via email to