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]

Re: [PATCH][AARCH64] Support tail indirect function call


^Ping...

Regards,
Jiong

On 18/03/14 14:13, Jiong Wang wrote:
Current, indirect function call prevents tail-call optimization on AArch64.

This patch adapt the fix for PR arm/19599 to AArch64.

Is it ok for next stage 1?

Thanks.

-- Jiong

gcc/

      * config/aarch64/predicates.md (aarch64_call_insn_operand): New
predicate.
      * config/aarch64/constraints.md ("Ucs", "Usf"):  New constraints.
      * config/aarch64/aarch64.md (*sibcall_insn, *sibcall_value_insn):
Adjust for
      tailcalling through registers.
      * config/aarch64/aarch64.h (enum reg_class): New caller save
register class.
      (REG_CLASS_NAMES): Likewise.
      (REG_CLASS_CONTENTS): Likewise.
      * config/aarch64/aarch64.c (aarch64_function_ok_for_sibcall): Allow
tailcalling
      without decls.

gcc/testsuite

      *gcc.target/aarch64/tail-indirect-call.c: New test.

--
Jiong



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