On Wed, Oct 19, 2022 at 1:16 AM Takayuki 'January June' Suwa
<jjsuwa_sys3...@yahoo.co.jp> wrote:
> This patch provides the first step in the transition from Reload to LRA
> in Xtensa.
>
> gcc/ChangeLog:
>
>         * config/xtensa/xtensa-proto.h
>         (xtensa_split1_finished_p, xtensa_split_DI_reg_imm): New prototypes.
>         * config/xtensa/xtensa.cc
>         (xtensa_split1_finished_p, xtensa_split_DI_reg_imm, xtensa_lra_p):
>         New functions.
>         (TARGET_LRA_P): Replace the dummy hook with xtensa_lra_p.
>         (xt_true_regnum): Rework.
>         * gcc/config/xtensa/xtensa.h (CALL_REALLY_USED_REGISTERS):
>         Switch from CALL_USED_REGISTERS, and revise the comment.
>         * gcc/config/xtensa/constraints.md (Y):
>         Use !xtensa_split1_finished_p() instead of can_create_pseudo_p().
>         * gcc/config/xtensa/predicates.md (move_operand): Ditto.
>         * gcc/config/xtensa/xtensa.md: Add two new split patterns:
>           - splits DImode immediate load into two SImode ones
>           - puts out-of-constraint SImode constants into the constant pool
>         * gcc/config/xtensa/xtensa.opt (-mlra): New target-specific option
>         for testing purpose.
> ---
>  gcc/config/xtensa/constraints.md  |  2 +-
>  gcc/config/xtensa/predicates.md   |  2 +-
>  gcc/config/xtensa/xtensa-protos.h |  2 +
>  gcc/config/xtensa/xtensa.cc       | 69 ++++++++++++++++++++++++++-----
>  gcc/config/xtensa/xtensa.h        |  8 ++--
>  gcc/config/xtensa/xtensa.md       | 36 ++++++++++++----
>  gcc/config/xtensa/xtensa.opt      |  4 ++
>  7 files changed, 99 insertions(+), 24 deletions(-)

Regtested for target=xtensa-linux-uclibc, no new regressions.
Committed to master after fixing the changelog.

-- 
Thanks.
-- Max

Reply via email to