https://gcc.gnu.org/g:49d58d8da2281ec66c376ca998d29652e417f4cd

commit r16-1733-g49d58d8da2281ec66c376ca998d29652e417f4cd
Author: Georg-Johann Lay <a...@gjlay.de>
Date:   Fri Jun 27 15:44:40 2025 +0200

    AVR: target/113934 - Use LRA per default.
    
    Now that the patches for PR120424 are upstream, the last known bug
    associated with avr+lra has been fixed: PR118591.  So we can pull the
    switch that turns on LRA per default.
    
    This patch only sets -mlra per default.  It doesn't do any Reload related
    cleanup or removal from the avr backend, hence -mno-lra still works.
    
    The only new problem is that gcc.dg/torture/pr64088.c fails with LRA
    but not with Reload.  Though that test case is awkward since it is UB
    but expects the compiler to behave in a specific way which avr-gcc
    doesn't do: PR116780.
    
    This patch also avoids a relative recent ICE that breaks building libgcc:
    R24:DI is allowed per hard_regno_mode_ok, but R26:SI is disallowed
    for Reload for old reasons.  Outcome is that a split2 pattern for
    R24:DI = zero_extend:DI (R22:SI) runs into an ICE.
    
    AVR-LibC builds fine with this patch.
    The AVR-LibC testsuite passes without errors.
    
    gcc/
            PR target/113934
            * config/avr/avr.opt (-mlra): Turn on per default.

Diff:
---
 gcc/config/avr/avr.opt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gcc/config/avr/avr.opt b/gcc/config/avr/avr.opt
index fcd2bf68f2a8..988311927bda 100644
--- a/gcc/config/avr/avr.opt
+++ b/gcc/config/avr/avr.opt
@@ -19,8 +19,8 @@
 ; <http://www.gnu.org/licenses/>.
 
 mlra
-Target Var(avropt_lra_p) UInteger Init(0) Optimization Undocumented
-Usa LRA for reload instead of the old reload framework.  This option is 
experimental, and it may be removed in future versions of the compiler.
+Target Var(avropt_lra_p) UInteger Init(1) Optimization Undocumented
+Usa LRA for reload instead of the old reload framework.  This option is 
experimental, on per default, and it may be removed in future versions of the 
compiler.
 
 mcall-prologues
 Target Mask(CALL_PROLOGUES) Optimization

Reply via email to