On 10/31/14 09:08, James Greenhalgh wrote:

Hi,

This patch prepares for removing all the *BY_PIECES_P macros by
introducing a new target hook TARGET_USE_BY_PIECES_INFRASTRUCTURE_P.

Tested on ARM/AArch64/x86_64 with no issues.

Ok for trunk?

Thanks,
James

---
gcc/

2014-10-31  James Greenhalgh  <james.greenha...@arm.com>

        * target.def (use_by_pieces_infrastructure_p): New.
        * doc/tm.texi.in (MOVE_BY_PIECES_P): Describe that this macro
        is deprecated.
        (STORE_BY_PIECES_P): Likewise.
        (CLEAR_BY_PIECES_P): Likewise.
        (SET_BY_PIECES_P): Likewise.
        (TARGET_MOVE_BY_PIECES_PROFITABLE_P): Add hook.
        * doc/tm.texi: Regenerate.
        * expr.c (MOVE_BY_PIECES_P): Rewrite in terms of
        TARGET_USE_BY_PIECES_INFRASTRUCTURE_P.
        (STORE_BY_PIECES_P): Likewise.
        (CLEAR_BY_PIECES_P): Likewise.
        (SET_BY_PIECES_P): Likewise.
        (STORE_MAX_PIECES): Move to...
        * defaults.h (STORE_MAX_PIECES): ...here.
        * targhooks.c (get_move_ratio): New.
        (default_use_by_pieces_infrastructure_p): Likewise.
        * targhooks.h (default_use_by_pieces_infrastructure_p): New.
        * target.h (by_pieces_operation): New.
This isn't radically different than what's been reviewed, thankfully :-)

All 7 components approved.

jeff

Reply via email to