This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[RFA/ARM][Patch 02/02]: ARM epilogues in RTL


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.

Attachment: arm_rtl_epilogue_complete-28Sept.patch
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]