https://gcc.gnu.org/g:9cebf1234b88e55a04071bd55c9ec4e22c0899e6
commit r15-7977-g9cebf1234b88e55a04071bd55c9ec4e22c0899e6 Author: Jeff Law <j...@ventanamicro.com> Date: Tue Mar 11 18:01:33 2025 -0600 Revert "[rtl-optimization/117467] Avoid unnecessarily marking things live in ext-dce" This reverts commit 4ed07a11ee2845c2085a3cd5cff043209a452441. Diff: --- gcc/ext-dce.cc | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/gcc/ext-dce.cc b/gcc/ext-dce.cc index 35ddda00cdb6..a03439501419 100644 --- a/gcc/ext-dce.cc +++ b/gcc/ext-dce.cc @@ -643,18 +643,6 @@ ext_dce_process_uses (rtx_insn *insn, rtx obj, /* The code of the RHS of a SET. */ enum rtx_code code = GET_CODE (src); - /* If we break the main loop below, then we will continue processing - sub-components of this RTX, including the SET_DEST. - - That is not necessary if the SET_DEST is a REG. We can just bump the - iterator to the next element to skip handling the SET_DEST. - - We can probably do this for ZERO_EXTRACT, STRICT_LOW_PART and SUBREG - destinations as well. But I want to rewrite all this code and keep - this fix conservative given we're deep into the gcc-15 release cycle. */ - if (REG_P (dst)) - iter.next (); - /* ?!? How much of this should mirror SET handling, potentially being shared? */ if (SUBREG_P (dst) && SUBREG_BYTE (dst).is_constant ())