[Bug target/127188] [avr] gcc.dg/pr45865.c: -fcompare-debug failure
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Sep 4 11:31:00 GMT 2026
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127188
--- Comment #4 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-16 branch has been updated by Georg-Johann Lay
<gjl@gcc.gnu.org>:
https://gcc.gnu.org/g:f91449daed2c83ef4c0d69430216dc6bfddd56bc
commit r16-9630-gf91449daed2c83ef4c0d69430216dc6bfddd56bc
Author: Georg-Johann Lay <avr@gjlay.de>
Date: Fri Sep 4 13:14:10 2026 +0200
AVR: target/127188 - Fix -fcompare-debug fail
The transformations performed by the avr-2moves pass might depend
on the presence of debug insns, which is fixed by this patch.
It now uses next_nondebug_insn_bb() to traverses the insns in such a
way that the seen insns don't depend on the presence of debug insns.
Plus, it ignores debug insns when it traverses the DF_REG_USE_CHAIN
of the considered register.
The patch passes without new regression. It fixes
gcc.dg/pr103837.c (test for excess errors)
gcc.dg/pr45865.c (test for excess errors)
which failed with -fcompare-debug.
PR target/127188
gcc/
* config/avr/avr-passes.cc (avr_pass_2moves) <optimize_2moves_bb>:
Use next_nondebug_insn_bb to traverse the insns.
<optimize_2moves>: Ignore degug insns when traversing
DF_REG_USE_CHAIN.
gcc/testsuite/
* gcc.target/avr/pr127188.c: New test.
(cherry picked from commit 740716f3b13102b93489eec8f3238aa1f356fe0b)
More information about the Gcc-bugs
mailing list