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.

Reply via email to