diff options
author | bernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-07-20 09:48:03 +0000 |
---|---|---|
committer | bernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-07-20 09:48:03 +0000 |
commit | 7b6ef6dd315e44d3d03fba6f0a6c2622c62557af (patch) | |
tree | f25b02efbca3753d97500a06c643689dce3058d0 /gcc/doc | |
parent | 9cfac6f2ea845f7485419c65a9014298e450bf94 (diff) | |
download | gcc-7b6ef6dd315e44d3d03fba6f0a6c2622c62557af.tar.gz |
* config/bfin/bfin-protos.h (bfin_longcall_p): Declare.
* config/bfin/predicates.md (symbol_ref_operand): New.
(call_insn_operand): Delete. All callers changed to use
register_no_elim_operand.
* config/bfin/bfin.c (init_cumulative_args): Initialize the new
call_cookie field.
(function_arg): Use it to generate the call's operand 2.
(bfin_longcall_p): New function.
(bfin_expand_call): Extra arg "cookie". All callers and declaration
changed. Emit extra USE in the pattern. Use bfin_longcall_p to
determine if the address needs to be in a REG.
(bfin_handle_longcall_attribute): New function.
(bfin_attribute_table): Add "longcall" and "shortcall".
* config/bfin/bfin.h (CALL_NORMAL, CALL_LONG, CALL_SHORT): New macros.
(CUMULATIVE_ARGS): New member call_cookie.
(PREDICATE_CODES): Add symbol_ref_operand.
* config/bfin/bfin.md (call, call_value, sibcall, sibcall_value): Add
extra USE to the pattern.
(call_symbol, sibcall_symbol, call_value_symbol, sibcall_value_symbol):
New patterns, split off call_insn, sibcall_insn, call_value_insn and
sibcall_value_insn; now the new patterns handle direct calls and the
old ones indirect calls.
* doc/extend.texi: Mention Blackfin in longcall/shortcall docs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102191 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/extend.texi | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index f71c5200a0a..c5d4fd83300 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -1932,12 +1932,12 @@ instruction directly. @item longcall/shortcall @cindex functions called via pointer on the RS/6000 and PowerPC -On the RS/6000 and PowerPC, the @code{longcall} attribute causes the -compiler to always call this function via a pointer, just as it would if +On the Blackfin, RS/6000 and PowerPC, the @code{longcall} attribute causes +the compiler to always call this function via a pointer, just as it would if the @option{-mlongcall} option had been specified. The @code{shortcall} attribute causes the compiler not to do this. These attributes override -both the @option{-mlongcall} switch and the @code{#pragma longcall} -setting. +both the @option{-mlongcall} switch and, on the RS/6000 and PowerPC, the +@code{#pragma longcall} setting. @xref{RS/6000 and PowerPC Options}, for more information on whether long calls are necessary. |