diff options
author | Richard Sandiford <richard@codesourcery.com> | 2007-05-25 11:36:06 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2007-05-25 11:36:06 +0000 |
commit | 25a651984517d4d275aac921c97ff1e7eb986dda (patch) | |
tree | 32f0047c9c52a73554ca9691e5f1d307f3ff645f /gcc/config/arm/elf.h | |
parent | aaee3e893d94e72bc81464c88d8e739a0f220969 (diff) | |
download | gcc-25a651984517d4d275aac921c97ff1e7eb986dda.zip gcc-25a651984517d4d275aac921c97ff1e7eb986dda.tar.gz gcc-25a651984517d4d275aac921c97ff1e7eb986dda.tar.bz2 |
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
Diffstat (limited to 'gcc/config/arm/elf.h')
-rw-r--r-- | gcc/config/arm/elf.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/gcc/config/arm/elf.h b/gcc/config/arm/elf.h index 89584ce..bce5ad6 100644 --- a/gcc/config/arm/elf.h +++ b/gcc/config/arm/elf.h @@ -87,7 +87,6 @@ do \ { \ ARM_OUTPUT_FN_UNWIND (FILE, FALSE); \ - ARM_DECLARE_FUNCTION_SIZE (FILE, FNAME, DECL); \ if (!flag_inhibit_size_directive) \ ASM_OUTPUT_MEASURED_SIZE (FILE, FNAME); \ } \ |