arm-protos.h (arm_encode_call_attribute): Delete.
commit25a651984517d4d275aac921c97ff1e7eb986dda
authorRichard Sandiford <richard@codesourcery.com>
Fri, 25 May 2007 11:36:06 +0000 (25 11:36 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Fri, 25 May 2007 11:36:06 +0000 (25 11:36 +0000)
tree32f0047c9c52a73554ca9691e5f1d307f3ff645f
parentaaee3e893d94e72bc81464c88d8e739a0f220969
arm-protos.h (arm_encode_call_attribute): Delete.

gcc/
* config/arm/arm-protos.h (arm_encode_call_attribute): Delete.
(arm_is_longcall_p): Rename to...
(arm_is_long_call_p): ...this.  Take a single tree argument and
return a bool.
* config/arm/arm.h (CALL_SHORT, CALL_LONG, CALL_NORMAL): Delete.
(CUMULATIVE_ARGS): Remove call_cookie.
(SHORT_CALL_FLAG_CHAR, LONG_CALL_FLAG_CHAR, ENCODED_SHORT_CALL_ATTR_P)
(ENCODED_LONG_CALL_ATTR_P): Delete.
(ARM_NAME_ENCODING_LENGTHS): Remove SHORT_CALL_FLAG_CHAR and
LONG_CALL_FLAG_CHAR cases.
(ARM_DECLARE_FUNCTION_SIZE): Delete.
* config/arm/elf.h (ASM_DECLARE_FUNCTION_SIZE): Don't use
ARM_DECLARE_FUNCTION_SIZE.
* config/arm/arm.c (arm_init_cumulative_args): Don't set call_cookie.
(arm_function_arg): Return const0_rtx for VOIDmode arguments.
(arm_encode_call_attribute, current_file_function_operand): Delete.
(arm_function_in_section_p): New function.
(arm_is_longcall_p): Rename to...
(arm_is_long_call_p): ...this.  Take the target function as a single
argument and return a bool.  Do not rely on call cookies.  Check
whether the target symbol is in the same section as the current
function, not just the same compilation unit.
(arm_function_ok_for_sibcall): Use arm_is_long_call_p.
(arm_encode_section_info): Don't encode a call type.
* config/arm/arm.md (call, call_value): Update calls to
arm_is_long(_)call_p.  Simplify logic.
(*call_symbol, *call_value_symbol, *call_insn, *call_value_insn):
Update calls to arm_is_long(_)call_p.

gcc/testsuite/
* gcc.target/arm/long-calls-1.c: New test.
* gcc.target/arm/long-calls-2.c: Likewise.
* gcc.target/arm/long-calls-3.c: Likewise.
* gcc.target/arm/long-calls-4.c: Likewise.

From-SVN: r125060
gcc/ChangeLog
gcc/config/arm/arm-protos.h
gcc/config/arm/arm.c
gcc/config/arm/arm.h
gcc/config/arm/arm.md
gcc/config/arm/elf.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/long-calls-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/long-calls-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/long-calls-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/long-calls-4.c [new file with mode: 0644]