diff options
author | Richard Earnshaw <rearnsha@arm.com> | 2000-05-06 18:13:35 +0000 |
---|---|---|
committer | Richard Earnshaw <rearnsha@gcc.gnu.org> | 2000-05-06 18:13:35 +0000 |
commit | 0616531fb5b99c6139eb0241067d000ab9b44960 (patch) | |
tree | d111ccb15b7572bbaf8d52dd2c4ab1c9a3146cf1 /gcc/flow.c | |
parent | 76fa6b3b73f655f8739d6704a1769ad98abaaecf (diff) | |
download | gcc-0616531fb5b99c6139eb0241067d000ab9b44960.zip gcc-0616531fb5b99c6139eb0241067d000ab9b44960.tar.gz gcc-0616531fb5b99c6139eb0241067d000ab9b44960.tar.bz2 |
Use new tail-calling mechanism on ARM.
* arm.md (sibcall, sibcall_value): New expands.
(sibcall_insn, sibcall_value_insn, sibcall_epilogue): New insns.
(tailcalling peepholes): Delete.
(push_multi): Simplify.
* arm.c (lr_save_eliminated): Delete definition.
(pattern_really_clobbers_lr, function_really_clobbers_lr): Delete.
(output_return_instruction): Remove checks on lr_save_eliminated.
(output_arm_prologue): Remove old tail-calling code.
(arm_output_epilogue): New parameter, really_return. All callers
changed. Handle tail-calling epilogues.
* arm.h (lr_save_eliminated): Delete declaration.
(frame_pointer_needed): Delete declaration.
* arm-protos.h (arm_output_epilogue): Adjust prototype.
* arm.md (is_thumb): Examine symbol thumb_code, not expression
TARGET_ARM.
* arm.c (thumb_code): Define it.
(arm_override_options): Set it.
* arm.h (thumb_code): Declare it.
From-SVN: r33731
Diffstat (limited to 'gcc/flow.c')
0 files changed, 0 insertions, 0 deletions