[committed] Enable LRA on several ports

Jeff Law jlaw@ventanamicro.com
Mon May 1 13:21:59 GMT 2023


Spurred by Segher's RFC, I went ahead and tested several ports with LRA 
enabled.  Not surprisingly, many failed, but a few built their full set 
of libraries successful and of those a few even ran their testsuites 
with no regressions.  In fact, enabling LRA fixes a small number of 
failures on the iq2000 port.

This patch converts the ports which built their libraries and have test 
results that are as good as or better than without LRA.    There may be 
minor code quality regressions or there may be minor code quality 
improvements -- I'm leaving that for the port maintainers to own going 
forward.

Committed to the trunk,

jeff
-------------- next part --------------
commit faf8bea79b62569af2891e7adc6f758141f738af
Author: Jeff Law <jlaw@ventanamicro>
Date:   Mon May 1 07:14:50 2023 -0600

    Enable LRA on several ports
    
    Spurred by Segher's RFC, I went ahead and tested several ports with LRA
    enabled.  Not surprisingly, many failed, but a few built their full set
    of libraries successful and of those a few even ran their testsuites
    with no regressions.  In fact, enabling LRA fixes a small number of
    failures on the iq2000 port.
    
    This patch converts the ports which built their libraries and have test
    results that are as good as or better than without LRA.    There may
    be minor code quality regressions or there may be minor code quality
    improvements -- I'm leaving that for the port maintainers to own going
    forward.
    
    gcc/
    
            * config/cris/cris.cc (TARGET_LRA_P): Remove.
            * config/epiphany/epiphany.cc (TARGET_LRA_P): Remove.
            * config/iq2000/iq2000.cc (TARGET_LRA_P): Remove.
            * config/m32r/m32r.cc (TARGET_LRA_P): Remove.
            * config/microblaze/microblaze.cc (TARGET_LRA_P): Remove.
            * config/mmix/mmix.cc (TARGET_LRA_P): Remove.

diff --git a/gcc/config/cris/cris.cc b/gcc/config/cris/cris.cc
index 05dead9c077..7ce1b754e76 100644
--- a/gcc/config/cris/cris.cc
+++ b/gcc/config/cris/cris.cc
@@ -215,9 +215,6 @@ int cris_cpu_version = CRIS_DEFAULT_CPU_VERSION;
 #undef TARGET_INIT_LIBFUNCS
 #define TARGET_INIT_LIBFUNCS cris_init_libfuncs
 
-#undef TARGET_LRA_P
-#define TARGET_LRA_P hook_bool_void_false
-
 #undef TARGET_LEGITIMATE_ADDRESS_P
 #define TARGET_LEGITIMATE_ADDRESS_P cris_legitimate_address_p
 
diff --git a/gcc/config/epiphany/epiphany.cc b/gcc/config/epiphany/epiphany.cc
index fdd4df71456..20c20e18ea0 100644
--- a/gcc/config/epiphany/epiphany.cc
+++ b/gcc/config/epiphany/epiphany.cc
@@ -106,8 +106,6 @@ static rtx_insn *frame_insn (rtx);
 #define TARGET_SCHED_ISSUE_RATE epiphany_issue_rate
 #define TARGET_SCHED_ADJUST_COST epiphany_adjust_cost
 
-#define TARGET_LRA_P hook_bool_void_false
-
 #define TARGET_LEGITIMATE_ADDRESS_P epiphany_legitimate_address_p
 
 #define TARGET_SECONDARY_RELOAD epiphany_secondary_reload
diff --git a/gcc/config/iq2000/iq2000.cc b/gcc/config/iq2000/iq2000.cc
index de44d361080..067154a0a0d 100644
--- a/gcc/config/iq2000/iq2000.cc
+++ b/gcc/config/iq2000/iq2000.cc
@@ -241,9 +241,6 @@ static HOST_WIDE_INT iq2000_starting_frame_offset (void);
 #undef	TARGET_EXPAND_BUILTIN_VA_START
 #define	TARGET_EXPAND_BUILTIN_VA_START	iq2000_va_start
 
-#undef TARGET_LRA_P
-#define TARGET_LRA_P hook_bool_void_false
-
 #undef TARGET_LEGITIMATE_ADDRESS_P
 #define TARGET_LEGITIMATE_ADDRESS_P	iq2000_legitimate_address_p
 
diff --git a/gcc/config/m32r/m32r.cc b/gcc/config/m32r/m32r.cc
index 5a788e29515..155a248459b 100644
--- a/gcc/config/m32r/m32r.cc
+++ b/gcc/config/m32r/m32r.cc
@@ -127,9 +127,6 @@ static const struct attribute_spec m32r_attribute_table[] =
 #undef  TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P
 #define TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P m32r_attribute_identifier
 
-#undef TARGET_LRA_P
-#define TARGET_LRA_P hook_bool_void_false
-
 #undef TARGET_LEGITIMATE_ADDRESS_P
 #define TARGET_LEGITIMATE_ADDRESS_P m32r_legitimate_address_p
 #undef TARGET_LEGITIMIZE_ADDRESS
diff --git a/gcc/config/microblaze/microblaze.cc b/gcc/config/microblaze/microblaze.cc
index 6df2c712cab..ebe78304f89 100644
--- a/gcc/config/microblaze/microblaze.cc
+++ b/gcc/config/microblaze/microblaze.cc
@@ -4017,9 +4017,6 @@ microblaze_starting_frame_offset (void)
 #undef TARGET_LEGITIMATE_ADDRESS_P
 #define TARGET_LEGITIMATE_ADDRESS_P 	microblaze_legitimate_address_p 
 
-#undef TARGET_LRA_P
-#define TARGET_LRA_P hook_bool_void_false
-
 #undef TARGET_FRAME_POINTER_REQUIRED
 #define TARGET_FRAME_POINTER_REQUIRED	microblaze_frame_pointer_required
 
diff --git a/gcc/config/mmix/mmix.cc b/gcc/config/mmix/mmix.cc
index 4e4fb8bdac2..eda2959adb9 100644
--- a/gcc/config/mmix/mmix.cc
+++ b/gcc/config/mmix/mmix.cc
@@ -273,9 +273,6 @@ static HOST_WIDE_INT mmix_starting_frame_offset (void);
 #undef TARGET_PREFERRED_OUTPUT_RELOAD_CLASS
 #define TARGET_PREFERRED_OUTPUT_RELOAD_CLASS mmix_preferred_output_reload_class
 
-#undef TARGET_LRA_P
-#define TARGET_LRA_P hook_bool_void_false
-
 #undef TARGET_LEGITIMATE_ADDRESS_P
 #define TARGET_LEGITIMATE_ADDRESS_P	mmix_legitimate_address_p
 #undef TARGET_LEGITIMATE_CONSTANT_P


More information about the Gcc-patches mailing list