Hi. No one back end does not use PREFERRED_OUTPUT_RELOAD_CLASS macro now, this patch remove it. The TARGET_PREFERRED_RELOAD_CLASS target hook should be use instead.
The patch has been bootstrapped on and regression tested on x86_64-unknown-linux-gnu for c and c++. This patch is pre-approved and should be committed within a week if no objections. * doc/tm.texi.in (PREFERRED_OUTPUT_RELOAD_CLASS): Remove. * doc/tm.texi: Regenerate. * targhooks.c (default_preferred_output_reload_class): Don't use PREFERRED_OUTPUT_RELOAD_CLASS macro. * system.h (PREFERRED_OUTPUT_RELOAD_CLASS): Poison. Index: gcc/doc/tm.texi =================================================================== --- gcc/doc/tm.texi (revision 177791) +++ gcc/doc/tm.texi (working copy) @@ -2601,15 +2601,6 @@ the SSE registers (and vice versa). @end defmac -@defmac PREFERRED_OUTPUT_RELOAD_CLASS (@var{x}, @var{class}) -Like @code{PREFERRED_RELOAD_CLASS}, but for output reloads instead of -input reloads. If you don't define this macro, the default is to use -@var{class}, unchanged. - -You can also use @code{PREFERRED_OUTPUT_RELOAD_CLASS} to discourage -reload from using some alternatives, like @code{PREFERRED_RELOAD_CLASS}. -@end defmac - @deftypefn {Target Hook} reg_class_t TARGET_PREFERRED_OUTPUT_RELOAD_CLASS (rtx @var{x}, reg_class_t @var{rclass}) Like @code{TARGET_PREFERRED_RELOAD_CLASS}, but for output reloads instead of input reloads. Index: gcc/doc/tm.texi.in =================================================================== --- gcc/doc/tm.texi.in (revision 177791) +++ gcc/doc/tm.texi.in (working copy) @@ -2587,15 +2587,6 @@ the SSE registers (and vice versa). @end defmac -@defmac PREFERRED_OUTPUT_RELOAD_CLASS (@var{x}, @var{class}) -Like @code{PREFERRED_RELOAD_CLASS}, but for output reloads instead of -input reloads. If you don't define this macro, the default is to use -@var{class}, unchanged. - -You can also use @code{PREFERRED_OUTPUT_RELOAD_CLASS} to discourage -reload from using some alternatives, like @code{PREFERRED_RELOAD_CLASS}. -@end defmac - @hook TARGET_PREFERRED_OUTPUT_RELOAD_CLASS Like @code{TARGET_PREFERRED_RELOAD_CLASS}, but for output reloads instead of input reloads. Index: gcc/targhooks.c =================================================================== --- gcc/targhooks.c (revision 177791) +++ gcc/targhooks.c (working copy) @@ -1287,11 +1287,7 @@ default_preferred_output_reload_class (rtx x ATTRIBUTE_UNUSED, reg_class_t rclass) { -#ifdef PREFERRED_OUTPUT_RELOAD_CLASS - return PREFERRED_OUTPUT_RELOAD_CLASS (x, (enum reg_class) rclass); -#else return rclass; -#endif } /* The default implementation of TARGET_PREFERRED_RENAME_CLASS. */ Index: gcc/system.h =================================================================== --- gcc/system.h (revision 177791) +++ gcc/system.h (working copy) @@ -866,7 +866,8 @@ USING_SVR4_H SVR4_ASM_SPEC FUNCTION_ARG FUNCTION_ARG_ADVANCE \ FUNCTION_INCOMING_ARG IRA_COVER_CLASSES TARGET_VERSION \ MACHINE_TYPE TARGET_HAS_TARGETCM ASM_OUTPUT_BSS \ - SETJMP_VIA_SAVE_AREA FORBIDDEN_INC_DEC_CLASSES + SETJMP_VIA_SAVE_AREA FORBIDDEN_INC_DEC_CLASSES \ + PREFERRED_OUTPUT_RELOAD_CLASS /* Hooks that are no longer used. */ #pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE \ Anatoly.