Ping! Re: [RFA/ARM][Patch 02/02]: ARM epilogues in RTL
Wed Oct 5 16:14:00 GMT 2011
On Wed, 2011-09-28 at 17:15 +0100, Sameera Deshpande wrote:
> 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.
> 2011-09-28 Sameera Deshpande <email@example.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.
More information about the Gcc-patches