Hi, This final patch gets rid of MOVE_BY_PIECES_P.
Bootstrapped on x86_64, ARM and AArch64. Thanks, James --- gcc/ 2014-10-28 James Greenhalgh <james.greenha...@arm.com> * doc/tm.texi.in (MOVE_BY_PIECES_P): Remove. * doc/tm.texi: Regenerate. * system.h: Poison MOVE_BY_PIECES_P. * targhooks.c (default_move_by_pieces_profitable_p): Remove MOVE_BY_PIECES_P.
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index c50227a..86d783e 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -6123,12 +6123,6 @@ optimized for speed rather than size. If you don't define this, a reasonable default is used. @end defmac -@defmac MOVE_BY_PIECES_P (@var{size}, @var{alignment}) -A C expression used to implement the default behaviour of -@code{TARGET_MOVE_BY_PIECES_PROFITABLE_P}. New ports should implement -that hook in preference to this macro, which is deprecated. -@end defmac - @deftypefn {Target Hook} bool TARGET_MOVE_BY_PIECES_PROFITABLE_P (unsigned int @var{size}, unsigned int @var{alignment}, bool @var{speed_p}) GCC will attempt several strategies when asked to copy between two areas of memory, for example when copying a @code{struct}. diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in index f3c90f8..f085796 100644 --- a/gcc/doc/tm.texi.in +++ b/gcc/doc/tm.texi.in @@ -4600,12 +4600,6 @@ optimized for speed rather than size. If you don't define this, a reasonable default is used. @end defmac -@defmac MOVE_BY_PIECES_P (@var{size}, @var{alignment}) -A C expression used to implement the default behaviour of -@code{TARGET_MOVE_BY_PIECES_PROFITABLE_P}. New ports should implement -that hook in preference to this macro, which is deprecated. -@end defmac - @hook TARGET_MOVE_BY_PIECES_PROFITABLE_P @defmac MOVE_MAX_PIECES diff --git a/gcc/system.h b/gcc/system.h index dbe1ceb..b9b90d4 100644 --- a/gcc/system.h +++ b/gcc/system.h @@ -847,7 +847,8 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN; HOT_TEXT_SECTION_NAME LEGITIMATE_CONSTANT_P ALWAYS_STRIP_DOTDOT \ OUTPUT_ADDR_CONST_EXTRA SMALL_REGISTER_CLASSES ASM_OUTPUT_IDENT \ ASM_BYTE_OP MEMBER_TYPE_FORCES_BLK LIBGCC2_HAS_SF_MODE \ - LIBGCC2_HAS_DF_MODE LIBGCC2_HAS_XF_MODE LIBGCC2_HAS_TF_MODE + LIBGCC2_HAS_DF_MODE LIBGCC2_HAS_XF_MODE LIBGCC2_HAS_TF_MODE \ + MOVE_BY_PIECES_P /* Target macros only used for code built for the target, that have moved to libgcc-tm.h or have never been present elsewhere. */ diff --git a/gcc/targhooks.c b/gcc/targhooks.c index 9ba3f8b..068e24e 100644 --- a/gcc/targhooks.c +++ b/gcc/targhooks.c @@ -1433,12 +1433,8 @@ default_move_by_pieces_profitable_p (unsigned int size ATTRIBUTE_UNUSED, unsigned int alignment ATTRIBUTE_UNUSED, bool speed_p ATTRIBUTE_UNUSED) { -#ifndef MOVE_BY_PIECES_P return move_by_pieces_ninsns (size, alignment, MOVE_MAX_PIECES + 1) < get_move_ratio (speed_p); -#else - return !!(MOVE_BY_PIECES_P (size, alignment)); -#endif } bool