From patchwork Sun Apr 23 16:47:52 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Segher Boessenkool X-Patchwork-Id: 1772468 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Q4DjJ06Q2z1ybF for ; Mon, 24 Apr 2023 02:48:18 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 7FFB6385701B for ; Sun, 23 Apr 2023 16:48:14 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from gcc1-power7.osuosl.org (gcc1-power7.osuosl.org [140.211.15.137]) by sourceware.org (Postfix) with ESMTP id 921A23858C83 for ; Sun, 23 Apr 2023 16:47:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 921A23858C83 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=kernel.crashing.org Authentication-Results: sourceware.org; spf=none smtp.mailfrom=gcc1-power7.osuosl.org Received: by gcc1-power7.osuosl.org (Postfix, from userid 10019) id 1437312408ED; Sun, 23 Apr 2023 16:47:57 +0000 (UTC) From: Segher Boessenkool To: gcc-patches@gcc.gnu.org Cc: Segher Boessenkool Subject: [PATCH] Turn on LRA on all targets Date: Sun, 23 Apr 2023 16:47:52 +0000 Message-Id: <283c45ca085ced958cbce6e64331252c83a5899f.1682268126.git.segher@kernel.crashing.org> X-Mailer: git-send-email 1.8.3.1 X-Spam-Status: No, score=-12.2 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org Sender: "Gcc-patches" This minimal patch enables LRA for all targets. It does not clean up the target code, nor does it do anything to generic code: it just deletes all target definitions of TARGET_LRA_P. There are three kinds of changes: 1) Targets that already always have LRA, but that redefine the hook anyway. These are gcn, pdp11, rx, sparc, vax, and xtensa. Nothing really changes for these targets with this patch (but later patches will delete the superfluous hook implementations). 2) Targets that have LRA selectable. Some of those are probably fine, since they default to using LRA (arc, mips, s390). Two others don't though, maybe because there are problems (ft32 and sh). I'd love to hear from all targets in this category what the status is, how easy it was to convert, etc. 3) Targets that as of yet never used LRA. Many of those will be fine, but some others will need a little tuning, and a few might need some actual improvements to LRA itself. These are cris, epiphany, fr30, frv, h8300, ia64, iq2000, lm32, m32c, m32r, m68k, mcore, microblaze, mmix, mn10300, msp430, nvptx, pa, rl78, stormy16, and visium. We'll find out how many of those targets are ever tested, and how many of those work with LRA without further changes, and how well. I send this patch now so that people can start testing. I don't plan to commit this for another week at least, for a week after GCC 13 release I guess? How does that plan sound to people? This is an RFC, so no changelog, no one can accidentally commit it :-) I thought about Cc:ing lots and lots of people, should I do that? Segher --- gcc/config/alpha/alpha.cc | 3 --- gcc/config/arc/arc.cc | 2 -- gcc/config/avr/avr.cc | 3 --- gcc/config/bfin/bfin.cc | 3 --- gcc/config/c6x/c6x.cc | 3 --- gcc/config/cris/cris.cc | 3 --- gcc/config/epiphany/epiphany.cc | 2 -- gcc/config/fr30/fr30.cc | 3 --- gcc/config/frv/frv.cc | 3 --- gcc/config/ft32/ft32.cc | 3 --- gcc/config/gcn/gcn.cc | 2 -- gcc/config/h8300/h8300.cc | 3 --- gcc/config/ia64/ia64.cc | 3 --- gcc/config/iq2000/iq2000.cc | 3 --- gcc/config/lm32/lm32.cc | 2 -- gcc/config/m32c/m32c.cc | 3 --- gcc/config/m32r/m32r.cc | 3 --- gcc/config/m68k/m68k.cc | 3 --- gcc/config/mcore/mcore.cc | 3 --- gcc/config/microblaze/microblaze.cc | 3 --- gcc/config/mips/mips.cc | 2 -- gcc/config/mmix/mmix.cc | 3 --- gcc/config/mn10300/mn10300.cc | 3 --- gcc/config/msp430/msp430.cc | 3 --- gcc/config/nvptx/nvptx.cc | 3 --- gcc/config/pa/pa.cc | 3 --- gcc/config/pdp11/pdp11.cc | 3 --- gcc/config/rl78/rl78.cc | 3 --- gcc/config/rx/rx.cc | 3 --- gcc/config/s390/s390.cc | 3 --- gcc/config/sh/sh.cc | 3 --- gcc/config/sparc/sparc.cc | 3 --- gcc/config/stormy16/stormy16.cc | 3 --- gcc/config/vax/vax.cc | 3 --- gcc/config/visium/visium.cc | 3 --- gcc/config/xtensa/xtensa.cc | 3 --- 36 files changed, 103 deletions(-) diff --git a/gcc/config/alpha/alpha.cc b/gcc/config/alpha/alpha.cc index 1d826085198e..784348dbe787 100644 --- a/gcc/config/alpha/alpha.cc +++ b/gcc/config/alpha/alpha.cc @@ -10094,9 +10094,6 @@ alpha_can_change_mode_class (machine_mode from, machine_mode to, #define TARGET_MANGLE_TYPE alpha_mangle_type #endif -#undef TARGET_LRA_P -#define TARGET_LRA_P hook_bool_void_false - #undef TARGET_LEGITIMATE_ADDRESS_P #define TARGET_LEGITIMATE_ADDRESS_P alpha_legitimate_address_p diff --git a/gcc/config/arc/arc.cc b/gcc/config/arc/arc.cc index 22eb2e9cb459..8cd5a794073f 100644 --- a/gcc/config/arc/arc.cc +++ b/gcc/config/arc/arc.cc @@ -804,8 +804,6 @@ static rtx arc_legitimize_address_0 (rtx, rtx, machine_mode mode); #define TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P \ arc_no_speculation_in_delay_slots_p -#undef TARGET_LRA_P -#define TARGET_LRA_P arc_lra_p #define TARGET_REGISTER_PRIORITY arc_register_priority /* Stores with scaled offsets have different displacement ranges. */ #define TARGET_DIFFERENT_ADDR_DISPLACEMENT_P hook_bool_void_true diff --git a/gcc/config/avr/avr.cc b/gcc/config/avr/avr.cc index c193430cf073..f2a075381d47 100644 --- a/gcc/config/avr/avr.cc +++ b/gcc/config/avr/avr.cc @@ -14663,9 +14663,6 @@ avr_float_lib_compare_returns_bool (machine_mode mode, enum rtx_code) #undef TARGET_CONVERT_TO_TYPE #define TARGET_CONVERT_TO_TYPE avr_convert_to_type -#undef TARGET_LRA_P -#define TARGET_LRA_P hook_bool_void_false - #undef TARGET_ADDR_SPACE_SUBSET_P #define TARGET_ADDR_SPACE_SUBSET_P avr_addr_space_subset_p diff --git a/gcc/config/bfin/bfin.cc b/gcc/config/bfin/bfin.cc index c70d2281f068..565f817d2e77 100644 --- a/gcc/config/bfin/bfin.cc +++ b/gcc/config/bfin/bfin.cc @@ -5834,9 +5834,6 @@ bfin_conditional_register_usage (void) #undef TARGET_RETURN_IN_MEMORY #define TARGET_RETURN_IN_MEMORY bfin_return_in_memory -#undef TARGET_LRA_P -#define TARGET_LRA_P hook_bool_void_false - #undef TARGET_LEGITIMATE_ADDRESS_P #define TARGET_LEGITIMATE_ADDRESS_P bfin_legitimate_address_p diff --git a/gcc/config/c6x/c6x.cc b/gcc/config/c6x/c6x.cc index 15be3b23716b..f4c1af1ab7c3 100644 --- a/gcc/config/c6x/c6x.cc +++ b/gcc/config/c6x/c6x.cc @@ -6751,9 +6751,6 @@ c6x_regno_reg_class (int reg) #undef TARGET_LEGITIMATE_ADDRESS_P #define TARGET_LEGITIMATE_ADDRESS_P c6x_legitimate_address_p -#undef TARGET_LRA_P -#define TARGET_LRA_P hook_bool_void_false - #undef TARGET_IN_SMALL_DATA_P #define TARGET_IN_SMALL_DATA_P c6x_in_small_data_p #undef TARGET_ASM_SELECT_RTX_SECTION diff --git a/gcc/config/cris/cris.cc b/gcc/config/cris/cris.cc index 05dead9c0778..7ce1b754e76e 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 fdd4df71456b..20c20e18ea0f 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/fr30/fr30.cc b/gcc/config/fr30/fr30.cc index 0d05b13aa31e..d2b2bf39c7f9 100644 --- a/gcc/config/fr30/fr30.cc +++ b/gcc/config/fr30/fr30.cc @@ -185,9 +185,6 @@ static int fr30_num_arg_regs (const function_arg_info &); #undef TARGET_CAN_ELIMINATE #define TARGET_CAN_ELIMINATE fr30_can_eliminate -#undef TARGET_LRA_P -#define TARGET_LRA_P hook_bool_void_false - #undef TARGET_ASM_TRAMPOLINE_TEMPLATE #define TARGET_ASM_TRAMPOLINE_TEMPLATE fr30_asm_trampoline_template #undef TARGET_TRAMPOLINE_INIT diff --git a/gcc/config/frv/frv.cc b/gcc/config/frv/frv.cc index 99f79325cd6f..71f6d92e2abb 100644 --- a/gcc/config/frv/frv.cc +++ b/gcc/config/frv/frv.cc @@ -496,9 +496,6 @@ static bool frv_modes_tieable_p (machine_mode, machine_mode); #undef TARGET_SECONDARY_RELOAD #define TARGET_SECONDARY_RELOAD frv_secondary_reload -#undef TARGET_LRA_P -#define TARGET_LRA_P hook_bool_void_false - #undef TARGET_LEGITIMATE_ADDRESS_P #define TARGET_LEGITIMATE_ADDRESS_P frv_legitimate_address_p diff --git a/gcc/config/ft32/ft32.cc b/gcc/config/ft32/ft32.cc index 806ab769f795..dfca7883ab65 100644 --- a/gcc/config/ft32/ft32.cc +++ b/gcc/config/ft32/ft32.cc @@ -840,9 +840,6 @@ ft32_lra_p (void) return ft32_lra_flag; } -#undef TARGET_LRA_P -#define TARGET_LRA_P ft32_lra_p - static bool reg_ok_for_base_p (rtx r, bool strict) { diff --git a/gcc/config/gcn/gcn.cc b/gcc/config/gcn/gcn.cc index 5608d85a1a07..d2f92e50bc6e 100644 --- a/gcc/config/gcn/gcn.cc +++ b/gcc/config/gcn/gcn.cc @@ -7510,8 +7510,6 @@ gcn_dwarf_register_span (rtx rtl) #define TARGET_LEGITIMATE_CONSTANT_P gcn_legitimate_constant_p #undef TARGET_LIBC_HAS_FUNCTION #define TARGET_LIBC_HAS_FUNCTION gcn_libc_has_function -#undef TARGET_LRA_P -#define TARGET_LRA_P hook_bool_void_true #undef TARGET_MACHINE_DEPENDENT_REORG #define TARGET_MACHINE_DEPENDENT_REORG gcn_md_reorg #undef TARGET_MEMORY_MOVE_COST diff --git a/gcc/config/h8300/h8300.cc b/gcc/config/h8300/h8300.cc index c3674933f900..815267393cb1 100644 --- a/gcc/config/h8300/h8300.cc +++ b/gcc/config/h8300/h8300.cc @@ -5625,9 +5625,6 @@ pre_incdec_with_reg (rtx op, unsigned int reg) #undef TARGET_MODES_TIEABLE_P #define TARGET_MODES_TIEABLE_P h8300_modes_tieable_p -#undef TARGET_LRA_P -#define TARGET_LRA_P hook_bool_void_false - #undef TARGET_LEGITIMATE_ADDRESS_P #define TARGET_LEGITIMATE_ADDRESS_P h8300_legitimate_address_p diff --git a/gcc/config/ia64/ia64.cc b/gcc/config/ia64/ia64.cc index f32efb3bd803..dd11709072e5 100644 --- a/gcc/config/ia64/ia64.cc +++ b/gcc/config/ia64/ia64.cc @@ -608,9 +608,6 @@ static const struct attribute_spec ia64_attribute_table[] = #undef TARGET_LEGITIMATE_ADDRESS_P #define TARGET_LEGITIMATE_ADDRESS_P ia64_legitimate_address_p -#undef TARGET_LRA_P -#define TARGET_LRA_P hook_bool_void_false - #undef TARGET_CANNOT_FORCE_CONST_MEM #define TARGET_CANNOT_FORCE_CONST_MEM ia64_cannot_force_const_mem diff --git a/gcc/config/iq2000/iq2000.cc b/gcc/config/iq2000/iq2000.cc index de44d361080b..067154a0a0d9 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/lm32/lm32.cc b/gcc/config/lm32/lm32.cc index 37a6eb86da05..3f1d9d388993 100644 --- a/gcc/config/lm32/lm32.cc +++ b/gcc/config/lm32/lm32.cc @@ -104,8 +104,6 @@ static HOST_WIDE_INT lm32_starting_frame_offset (void); #define TARGET_MAX_ANCHOR_OFFSET 0x7fff #undef TARGET_CAN_ELIMINATE #define TARGET_CAN_ELIMINATE lm32_can_eliminate -#undef TARGET_LRA_P -#define TARGET_LRA_P hook_bool_void_false #undef TARGET_LEGITIMATE_ADDRESS_P #define TARGET_LEGITIMATE_ADDRESS_P lm32_legitimate_address_p #undef TARGET_HARD_REGNO_MODE_OK diff --git a/gcc/config/m32c/m32c.cc b/gcc/config/m32c/m32c.cc index e0d06f833d3d..691014f52232 100644 --- a/gcc/config/m32c/m32c.cc +++ b/gcc/config/m32c/m32c.cc @@ -1636,9 +1636,6 @@ m32c_trampoline_init (rtx m_tramp, tree fndecl, rtx chainval) #undef A0 } -#undef TARGET_LRA_P -#define TARGET_LRA_P hook_bool_void_false - /* Addressing Modes */ /* The r8c/m32c family supports a wide range of non-orthogonal diff --git a/gcc/config/m32r/m32r.cc b/gcc/config/m32r/m32r.cc index 5a788e295154..155a248459bc 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/m68k/m68k.cc b/gcc/config/m68k/m68k.cc index 03db2b6a9369..64e7d3bca620 100644 --- a/gcc/config/m68k/m68k.cc +++ b/gcc/config/m68k/m68k.cc @@ -303,9 +303,6 @@ static void m68k_asm_final_postscan_insn (FILE *, rtx_insn *insn, rtx [], int); #define TARGET_ASM_OUTPUT_DWARF_DTPREL m68k_output_dwarf_dtprel #endif -#undef TARGET_LRA_P -#define TARGET_LRA_P hook_bool_void_false - #undef TARGET_LEGITIMATE_ADDRESS_P #define TARGET_LEGITIMATE_ADDRESS_P m68k_legitimate_address_p diff --git a/gcc/config/mcore/mcore.cc b/gcc/config/mcore/mcore.cc index e800af78e14b..384d702ed77f 100644 --- a/gcc/config/mcore/mcore.cc +++ b/gcc/config/mcore/mcore.cc @@ -237,9 +237,6 @@ static const struct attribute_spec mcore_attribute_table[] = #undef TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P #define TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P mcore_legitimate_address_p -#undef TARGET_LRA_P -#define TARGET_LRA_P hook_bool_void_false - #undef TARGET_WARN_FUNC_RETURN #define TARGET_WARN_FUNC_RETURN mcore_warn_func_return diff --git a/gcc/config/microblaze/microblaze.cc b/gcc/config/microblaze/microblaze.cc index 6df2c712cab1..ebe78304f898 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/mips/mips.cc b/gcc/config/mips/mips.cc index ca822758b41c..b5e225896da9 100644 --- a/gcc/config/mips/mips.cc +++ b/gcc/config/mips/mips.cc @@ -23011,8 +23011,6 @@ mips_asm_file_end (void) #undef TARGET_SPILL_CLASS #define TARGET_SPILL_CLASS mips_spill_class -#undef TARGET_LRA_P -#define TARGET_LRA_P mips_lra_p #undef TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS #define TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS mips_ira_change_pseudo_allocno_class diff --git a/gcc/config/mmix/mmix.cc b/gcc/config/mmix/mmix.cc index 4e4fb8bdac27..eda2959adb96 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 diff --git a/gcc/config/mn10300/mn10300.cc b/gcc/config/mn10300/mn10300.cc index a8b01a543cc7..4540858d312e 100644 --- a/gcc/config/mn10300/mn10300.cc +++ b/gcc/config/mn10300/mn10300.cc @@ -3368,9 +3368,6 @@ mn10300_reorg (void) #undef TARGET_CASE_VALUES_THRESHOLD #define TARGET_CASE_VALUES_THRESHOLD mn10300_case_values_threshold -#undef TARGET_LRA_P -#define TARGET_LRA_P hook_bool_void_false - #undef TARGET_LEGITIMATE_ADDRESS_P #define TARGET_LEGITIMATE_ADDRESS_P mn10300_legitimate_address_p #undef TARGET_DELEGITIMIZE_ADDRESS diff --git a/gcc/config/msp430/msp430.cc b/gcc/config/msp430/msp430.cc index 6f9c56187ee3..1af0223cb394 100644 --- a/gcc/config/msp430/msp430.cc +++ b/gcc/config/msp430/msp430.cc @@ -902,9 +902,6 @@ msp430_gimplify_va_arg_expr (tree valist, tree type, gimple_seq *pre_p, return addr; } -#undef TARGET_LRA_P -#define TARGET_LRA_P hook_bool_void_false - /* Addressing Modes */ #undef TARGET_LEGITIMATE_ADDRESS_P diff --git a/gcc/config/nvptx/nvptx.cc b/gcc/config/nvptx/nvptx.cc index 89349dae9e62..e32f17377525 100644 --- a/gcc/config/nvptx/nvptx.cc +++ b/gcc/config/nvptx/nvptx.cc @@ -7601,9 +7601,6 @@ nvptx_asm_output_def_from_decls (FILE *stream, tree name, tree value) #undef TARGET_ATTRIBUTE_TABLE #define TARGET_ATTRIBUTE_TABLE nvptx_attribute_table -#undef TARGET_LRA_P -#define TARGET_LRA_P hook_bool_void_false - #undef TARGET_LEGITIMATE_ADDRESS_P #define TARGET_LEGITIMATE_ADDRESS_P nvptx_legitimate_address_p diff --git a/gcc/config/pa/pa.cc b/gcc/config/pa/pa.cc index db633b275e5e..2198140cb492 100644 --- a/gcc/config/pa/pa.cc +++ b/gcc/config/pa/pa.cc @@ -403,9 +403,6 @@ static size_t n_deferred_plabels = 0; #undef TARGET_LEGITIMATE_ADDRESS_P #define TARGET_LEGITIMATE_ADDRESS_P pa_legitimate_address_p -#undef TARGET_LRA_P -#define TARGET_LRA_P hook_bool_void_false - #undef TARGET_HARD_REGNO_NREGS #define TARGET_HARD_REGNO_NREGS pa_hard_regno_nregs #undef TARGET_HARD_REGNO_MODE_OK diff --git a/gcc/config/pdp11/pdp11.cc b/gcc/config/pdp11/pdp11.cc index 4af26f8cd709..528dfd59a770 100644 --- a/gcc/config/pdp11/pdp11.cc +++ b/gcc/config/pdp11/pdp11.cc @@ -228,9 +228,6 @@ static bool pdp11_scalar_mode_supported_p (scalar_mode); #undef TARGET_PREFERRED_OUTPUT_RELOAD_CLASS #define TARGET_PREFERRED_OUTPUT_RELOAD_CLASS pdp11_preferred_output_reload_class -#undef TARGET_LRA_P -#define TARGET_LRA_P pdp11_lra_p - #undef TARGET_LEGITIMATE_ADDRESS_P #define TARGET_LEGITIMATE_ADDRESS_P pdp11_legitimate_address_p diff --git a/gcc/config/rl78/rl78.cc b/gcc/config/rl78/rl78.cc index 7ed28d35883a..440eb134b349 100644 --- a/gcc/config/rl78/rl78.cc +++ b/gcc/config/rl78/rl78.cc @@ -1135,9 +1135,6 @@ rl78_is_legitimate_constant (machine_mode mode ATTRIBUTE_UNUSED, rtx x ATTRIBUTE return true; } -#undef TARGET_LRA_P -#define TARGET_LRA_P hook_bool_void_false - #undef TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P #define TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P rl78_as_legitimate_address diff --git a/gcc/config/rx/rx.cc b/gcc/config/rx/rx.cc index 726b00a3193b..64a30963e7f5 100644 --- a/gcc/config/rx/rx.cc +++ b/gcc/config/rx/rx.cc @@ -3790,9 +3790,6 @@ rx_modes_tieable_p (machine_mode mode1, machine_mode mode2) #undef TARGET_WARN_FUNC_RETURN #define TARGET_WARN_FUNC_RETURN rx_warn_func_return -#undef TARGET_LRA_P -#define TARGET_LRA_P rx_enable_lra - #undef TARGET_HARD_REGNO_NREGS #define TARGET_HARD_REGNO_NREGS rx_hard_regno_nregs #undef TARGET_HARD_REGNO_MODE_OK diff --git a/gcc/config/s390/s390.cc b/gcc/config/s390/s390.cc index 505de995da87..639c1e483003 100644 --- a/gcc/config/s390/s390.cc +++ b/gcc/config/s390/s390.cc @@ -17706,9 +17706,6 @@ s390_vectorize_vec_perm_const (machine_mode vmode, machine_mode op_mode, #undef TARGET_LEGITIMATE_CONSTANT_P #define TARGET_LEGITIMATE_CONSTANT_P s390_legitimate_constant_p -#undef TARGET_LRA_P -#define TARGET_LRA_P s390_lra_p - #undef TARGET_CAN_ELIMINATE #define TARGET_CAN_ELIMINATE s390_can_eliminate diff --git a/gcc/config/sh/sh.cc b/gcc/config/sh/sh.cc index cf6188bd19db..fae58b3e574a 100644 --- a/gcc/config/sh/sh.cc +++ b/gcc/config/sh/sh.cc @@ -593,9 +593,6 @@ static const struct attribute_spec sh_attribute_table[] = #undef TARGET_ENCODE_SECTION_INFO #define TARGET_ENCODE_SECTION_INFO sh_encode_section_info -#undef TARGET_LRA_P -#define TARGET_LRA_P sh_lra_p - #undef TARGET_SECONDARY_RELOAD #define TARGET_SECONDARY_RELOAD sh_secondary_reload diff --git a/gcc/config/sparc/sparc.cc b/gcc/config/sparc/sparc.cc index 8c0c9dce9714..48204ffaf625 100644 --- a/gcc/config/sparc/sparc.cc +++ b/gcc/config/sparc/sparc.cc @@ -910,9 +910,6 @@ char sparc_hard_reg_printed[8]; #define TARGET_MANGLE_TYPE sparc_mangle_type #endif -#undef TARGET_LRA_P -#define TARGET_LRA_P sparc_lra_p - #undef TARGET_LEGITIMATE_ADDRESS_P #define TARGET_LEGITIMATE_ADDRESS_P sparc_legitimate_address_p diff --git a/gcc/config/stormy16/stormy16.cc b/gcc/config/stormy16/stormy16.cc index 1ed619a28968..4bfe846fc8ce 100644 --- a/gcc/config/stormy16/stormy16.cc +++ b/gcc/config/stormy16/stormy16.cc @@ -2719,9 +2719,6 @@ xstormy16_push_rounding (poly_int64 bytes) #undef TARGET_PREFERRED_OUTPUT_RELOAD_CLASS #define TARGET_PREFERRED_OUTPUT_RELOAD_CLASS xstormy16_preferred_reload_class -#undef TARGET_LRA_P -#define TARGET_LRA_P hook_bool_void_false - #undef TARGET_LEGITIMATE_ADDRESS_P #define TARGET_LEGITIMATE_ADDRESS_P xstormy16_legitimate_address_p #undef TARGET_MODE_DEPENDENT_ADDRESS_P diff --git a/gcc/config/vax/vax.cc b/gcc/config/vax/vax.cc index 82a176d3bfc9..17fdc4483797 100644 --- a/gcc/config/vax/vax.cc +++ b/gcc/config/vax/vax.cc @@ -114,9 +114,6 @@ static HOST_WIDE_INT vax_starting_frame_offset (void); #undef TARGET_STRUCT_VALUE_RTX #define TARGET_STRUCT_VALUE_RTX vax_struct_value_rtx -#undef TARGET_LRA_P -#define TARGET_LRA_P vax_lra_p - #undef TARGET_LEGITIMATE_ADDRESS_P #define TARGET_LEGITIMATE_ADDRESS_P vax_legitimate_address_p #undef TARGET_MODE_DEPENDENT_ADDRESS_P diff --git a/gcc/config/visium/visium.cc b/gcc/config/visium/visium.cc index ec4c2e9ae5cb..c727b5d6d29d 100644 --- a/gcc/config/visium/visium.cc +++ b/gcc/config/visium/visium.cc @@ -280,9 +280,6 @@ static HOST_WIDE_INT visium_constant_alignment (const_tree, HOST_WIDE_INT); #undef TARGET_LEGITIMATE_CONSTANT_P #define TARGET_LEGITIMATE_CONSTANT_P visium_legitimate_constant_p -#undef TARGET_LRA_P -#define TARGET_LRA_P hook_bool_void_false - #undef TARGET_LEGITIMATE_ADDRESS_P #define TARGET_LEGITIMATE_ADDRESS_P visium_legitimate_address_p diff --git a/gcc/config/xtensa/xtensa.cc b/gcc/config/xtensa/xtensa.cc index 9e5d314e143e..4c98f3071c4d 100644 --- a/gcc/config/xtensa/xtensa.cc +++ b/gcc/config/xtensa/xtensa.cc @@ -286,9 +286,6 @@ static rtx xtensa_delegitimize_address (rtx); #undef TARGET_CANNOT_FORCE_CONST_MEM #define TARGET_CANNOT_FORCE_CONST_MEM xtensa_cannot_force_const_mem -#undef TARGET_LRA_P -#define TARGET_LRA_P xtensa_lra_p - #undef TARGET_LEGITIMATE_ADDRESS_P #define TARGET_LEGITIMATE_ADDRESS_P xtensa_legitimate_address_p