https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109650
Georg-Johann Lay <gjl at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |saaadhu at gcc dot gnu.org --- Comment #6 from Georg-Johann Lay <gjl at gcc dot gnu.org> --- As it appears, disabling avr.cc's machine dependent reorg by means of -fdisable-rtl-mach can stop this PR. Maybe avr.cc::avr_reorg() is no more correct after PR92729 because contrary to cc0, now a branch instruction may have more than one CCmode setter. A part of this optimization could be run prior to .split2 when cbranch insns are still intact. In particular transformations like from "if (x <= 2)" to "if (x < 3)" must be performed on cbranch, or otherwise avr_reorg() must check that there is only one CCmode setter, or otherwise adjust *all* CCmode setters. This optimization should not run too early so that avr_reorg_remove_redundant_compare can still do its job on switch-case if-else trees. I am allowing me to add Senthil to CC, maybe he has some ideas.