public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Richard Biener <richard.guenther@gmail.com>
To: Segher Boessenkool <segher@kernel.crashing.org>
Cc: gcc-patches@gcc.gnu.org
Subject: Re: [PATCH] Turn on LRA on all targets
Date: Mon, 24 Apr 2023 10:19:23 +0200	[thread overview]
Message-ID: <CAFiYyc3hFT15W2tyOS0VdRV5Vg3LO3LcCLvoXKuaWtxJUP_TSw@mail.gmail.com> (raw)
In-Reply-To: <283c45ca085ced958cbce6e64331252c83a5899f.1682268126.git.segher@kernel.crashing.org>

On Sun, Apr 23, 2023 at 6:48 PM Segher Boessenkool
<segher@kernel.crashing.org> wrote:
>
> 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.

I think 1) and 2) where the default is LRA already should be changed to
use the existing default and the ability to switch back to reload removed.
That could be done independently and soon.

> 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?

I think it's important to check that the targets still build, including a
sensible set of their target libraries in a sensible set of their
multilib configurations so they are not completely cut off from
testing.

"Converting" targets one-by-one this way is sensible and appreciated.

>
> 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?

Did we announce a cut-off for reload going away?  Knowing the set of
targets that fail to "auto-convert" within the above constraint would be
nice.

Thanks for pushing!
Richard.

>
>
> 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
>
> --
> 1.8.3.1
>

  parent reply	other threads:[~2023-04-24  8:20 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-23 16:47 Segher Boessenkool
2023-04-23 17:01 ` Jeff Law
2023-04-23 20:23   ` Segher Boessenkool
2023-04-24  8:42   ` Andreas Schwab
2023-04-23 18:36 ` Paul Koning
2023-04-23 20:19   ` Segher Boessenkool
2023-04-23 18:56 ` Maciej W. Rozycki
2023-04-23 20:33   ` Segher Boessenkool
2023-05-15 21:09     ` Maciej W. Rozycki
2023-05-15 21:16       ` Sam James
2024-02-15 19:34         ` Sam James
2024-02-15 22:56           ` Segher Boessenkool
2024-02-16  1:41             ` Paul Koning
2024-02-16 10:22               ` Segher Boessenkool
2024-02-15 22:21       ` Paul Koning
2024-02-16 11:34         ` Maciej W. Rozycki
2024-02-16 13:47           ` Segher Boessenkool
2024-02-16 14:23             ` Maciej W. Rozycki
2024-02-16 14:31               ` Jakub Jelinek
2024-02-16 17:01                 ` Maciej W. Rozycki
2024-02-17  0:38                   ` Maciej W. Rozycki
2024-02-16 14:50           ` Paul Koning
2023-04-23 21:06 ` Uros Bizjak
2023-04-24  9:17   ` Segher Boessenkool
2023-04-24  9:46     ` Uros Bizjak
2023-04-29 14:38       ` Segher Boessenkool
2023-04-24  8:19 ` Richard Biener [this message]
2023-04-24  9:44   ` Segher Boessenkool
2023-04-30 19:52 ` Jeff Law
2023-04-29 13:37 Roger Sayle
2023-04-29 15:06 ` Jeff Law

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAFiYyc3hFT15W2tyOS0VdRV5Vg3LO3LcCLvoXKuaWtxJUP_TSw@mail.gmail.com \
    --to=richard.guenther@gmail.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=segher@kernel.crashing.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).