This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Ping! Re: [RFA/ARM][Patch 02/02]: ARM epilogues in RTL
- From: Sameera Deshpande <sameera dot deshpande at arm dot com>
- To: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Cc: "nickc at redhat dot com" <nickc at redhat dot com>, Richard Earnshaw <Richard dot Earnshaw at arm dot com>, "paul at codesourcery dot com" <paul at codesourcery dot com>, Ramana Radhakrishnan <Ramana dot Radhakrishnan at arm dot com>
- Date: Wed, 05 Oct 2011 17:04:46 +0100
- Subject: Ping! Re: [RFA/ARM][Patch 02/02]: ARM epilogues in RTL
- References: <003701cc7df9$e465d770$ad318650$@deshpande@arm.com>
Ping!
http://gcc.gnu.org/ml/gcc-patches/2011-09/msg01855.html
On Wed, 2011-09-28 at 17:15 +0100, Sameera Deshpande wrote:
> Hi!
>
> This patch generates ARM epilogue in RTL form.
>
> The work defines new functions and reuses most of the static functions and
> patterns defined in the previous patch (Thumb2 epilogues in RTL) with minor
> changes to handle mode specific details.
> Hence, this patch depends completely on previous patch.
>
> It is tested with arm-eabi with no regression.
>
> ChangeLog:
>
> 2011-09-28 Sameera Deshpande <sameera.deshpande@arm.com>
>
>
> * config/arm/arm-protos.h (arm_expand_epilogue): New declarations.
> (arm_expand_return): Likewise.
> (thumb2_expand_epilogue): Add new boolean argument.
> * config/arm/arm.c (print_multi_reg): Remove.
> (vfp_output_fldmd): Likewise.
>
> (arm_output_epilogue): Likewise.
> (output_return_instruction): Update the function.
> (thumb2_emit_multi_reg_pop): Rename to...
> (arm_emit_multi_reg_pop): ...this
> (thumb2_emit_vfp_multi_reg_pop): Rename to...
> (arm_emit_vfp_multi_reg_pop): ...this
> (arm_emit_vfp_multi_reg_pop): Add new argument base_reg.
> (arm_expand_return): New function.
>
> (arm_expand_epilogue): Likewise.
> (thumb2_expand_epilogue): Add new argument is_sibling.
> * config/arm/arm.md (pop_multiple_with_stack_update): Update
> condition and code for pattern.
> (arm_return): Likewise.
> (pop_multiple_with_stack_update_and_return): Likewise.
> (floating_point_pop_multiple_with_stack_update): Likewise.
> (thumb2_ldr_with_return): Rename to...
> (ldr_with_return): ...this
> (ldr_with_return): Update condition.
> (cond_return): Remove.
> (cond_return_inverted): Likewise.
> (return): Update code.
> (epilogue): Likewise.
> (sibcall_epilogue): Likewise.
> (epilogue_insns): Update condition and code.
>
>
> - Thanks and regards,
> Sameera D.
--