https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63937

--- Comment #9 from Yvan Roux <yroux at gcc dot gnu.org> ---
Author: yroux
Date: Thu Dec  4 18:19:01 2014
New Revision: 218390

URL: https://gcc.gnu.org/viewcvs?rev=218390&root=gcc&view=rev
Log:
gcc/
2014-12-04  Yvan Roux  <yvan.r...@linaro.org>

    Backport from trunk r216996, r216998, r216999, r217001, r217002, r217003,
    r217004, r217742.
    2014-11-18  James Greenhalgh  <james.greenha...@arm.com>

    PR target/63937
    * target.def (use_by_pieces_infrastructure_p): Take unsigned
    HOST_WIDE_INT as the size parameter.
    * targhooks.c (default_use_by_pieces_infrastructure_p): Likewise.
    * targhooks.h (default_use_by_pieces_infrastructure_p): Likewise.
    * config/arc/arc.c (arc_use_by_pieces_infrastructure_p)): Likewise.
    * config/mips/mips.c (mips_use_by_pieces_infrastructure_p)): Likewise.
    * config/s390/s390.c (s390_use_by_pieces_infrastructure_p)): Likewise.
    * config/sh/sh.c (sh_use_by_pieces_infrastructure_p)): Likewise.
    * config/aarch64/aarch64.c
    (aarch64_use_by_pieces_infrastructure_p)): Likewise.
    * doc/tm.texi: Regenerate.

    2014-11-01  James Greenhalgh  <james.greenha...@arm.com>

    * doc/tm.texi.in (MOVE_BY_PIECES_P): Remove.
    (CLEAR_BY_PIECES_P): Likewise.
    (SET_BY_PIECES_P): Likewise.
    (STORE_BY_PIECES_P): Likewise.
    * doc/tm.texi: Regenerate.
    * system.h: Poison MOVE_BY_PIECES_P, CLEAR_BY_PIECES_P,
    SET_BY_PIECES_P, STORE_BY_PIECES_P.
    * expr.c (MOVE_BY_PIECES_P): Remove.
    (CLEAR_BY_PIECES_P): Likewise.
    (SET_BY_PIECES_P): Likewise.
    (STORE_BY_PIECES_P): Likewise.
    (can_move_by_pieces): Rewrite in terms of
    targetm.use_by_pieces_infrastructure_p.
    (emit_block_move_hints): Likewise.
    (can_store_by_pieces): Likewise.
    (store_by_pieces): Likewise.
    (clear_storage_hints): Likewise.
    (emit_push_insn): Likewise.
    (expand_constructor): Likewise.

    2014-11-01  James Greenhalgh  <james.greenha...@arm.com>

    * config/aarch64/aarch64.c
    (aarch64_use_by_pieces_infrastructre_p): New.
    (TARGET_USE_BY_PIECES_INFRASTRUCTURE): Likewise.
    * config/aarch64/aarch64.h (STORE_BY_PIECES_P): Delete.

    2014-11-01  James Greenhalgh  <james.greenha...@arm.com>

    * config/mips/mips.h (MOVE_BY_PIECES_P): Remove.
    (STORE_BY_PIECES_P): Likewise.
    * config/mips/mips.c (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): New.
    (mips_move_by_pieces_p): Rename to...
    (mips_use_by_pieces_infrastructure_p): ...this, use new hook
    parameters, use the default hook implementation as a
    fall-back.

    2014-11-01  James Greenhalgh  <james.greenha...@arm.com>

    * config/sh/sh.c (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): New.
    (sh_use_by_pieces_infrastructure_p): Likewise.
    * config/sh/sh.h (MOVE_BY_PIECES_P): Remove.
    (STORE_BY_PIECES_P): Likewise.
    (SET_BY_PIECES_P): Likewise.

    2014-11-01  James Greenhalgh  <james.greenha...@arm.com>

    * config/arc/arc.c (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): New.
    (arc_use_by_pieces_infrastructure_p): Likewise.
    * confir/arc/arc.h (MOVE_BY_PIECES_P): Delete.
    (CAN_MOVE_BY_PIECES): Likewise.

    2014-11-01  James Greenhalgh  <james.greenha...@arm.com>

    * config/s390/s390.c (s390_use_by_pieces_infrastructure_p): New.
    (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): Likewise.
    * config/s390/s390.h (MOVE_BY_PIECES_P): Remove.
    (CLEAR_BY_PIECES): Likewise.
    (SET_BY_PIECES): Likewise.
    (STORE_BY_PIECES): Likewise.

    2014-11-01  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.

gcc/testsuite/
2014-12-04  Yvan Roux  <yvan.r...@linaro.org>

    Backport from trunk r217742.
    2014-11-18  James Greenhalgh  <james.greenha...@arm.com>

    PR target/63937
    * gcc.dg/memset-2.c: New.


Added:
    branches/linaro/gcc-4_9-branch/gcc/testsuite/gcc.dg/memset-2.c
Modified:
    branches/linaro/gcc-4_9-branch/gcc/ChangeLog.linaro
    branches/linaro/gcc-4_9-branch/gcc/config/aarch64/aarch64.c
    branches/linaro/gcc-4_9-branch/gcc/config/aarch64/aarch64.h
    branches/linaro/gcc-4_9-branch/gcc/config/arc/arc.c
    branches/linaro/gcc-4_9-branch/gcc/config/arc/arc.h
    branches/linaro/gcc-4_9-branch/gcc/config/mips/mips.c
    branches/linaro/gcc-4_9-branch/gcc/config/mips/mips.h
    branches/linaro/gcc-4_9-branch/gcc/config/s390/s390.c
    branches/linaro/gcc-4_9-branch/gcc/config/s390/s390.h
    branches/linaro/gcc-4_9-branch/gcc/config/sh/sh.c
    branches/linaro/gcc-4_9-branch/gcc/config/sh/sh.h
    branches/linaro/gcc-4_9-branch/gcc/defaults.h
    branches/linaro/gcc-4_9-branch/gcc/doc/tm.texi
    branches/linaro/gcc-4_9-branch/gcc/doc/tm.texi.in
    branches/linaro/gcc-4_9-branch/gcc/expr.c
    branches/linaro/gcc-4_9-branch/gcc/system.h
    branches/linaro/gcc-4_9-branch/gcc/target.def
    branches/linaro/gcc-4_9-branch/gcc/target.h
    branches/linaro/gcc-4_9-branch/gcc/targhooks.c
    branches/linaro/gcc-4_9-branch/gcc/targhooks.h
    branches/linaro/gcc-4_9-branch/gcc/testsuite/ChangeLog.linaro

Reply via email to