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]>
