Document FUNCTION_OK_FOR_SIBCALL.
From-SVN: r34261
This commit is contained in:
parent
37dbf7aa9c
commit
4cb1433cad
19
gcc/tm.texi
19
gcc/tm.texi
@ -2171,6 +2171,7 @@ This describes the stack layout and calling conventions.
|
||||
* Function Entry::
|
||||
* Profiling::
|
||||
* Inlining::
|
||||
* Tail Calling::
|
||||
@end menu
|
||||
|
||||
@node Frame Layout
|
||||
@ -3684,6 +3685,24 @@ takes one argument, a @samp{DECL} describing the function. It should
|
||||
return non-zero if the function can be inlined, otherwise it should
|
||||
return 0.
|
||||
|
||||
@node Tail Calling
|
||||
@subsection Permitting tail calls to functions
|
||||
@cindex tail calls
|
||||
@cindex sibling calls
|
||||
|
||||
@table @code
|
||||
@findex FUNCTION_OK_FOR_SIBCALL
|
||||
@item FUNCTION_OK_FOR_SIBCALL (@var{decl})
|
||||
A C expression that evaluates to true if it is ok to perform a sibling
|
||||
call to @var{decl}.
|
||||
|
||||
It is not uncommon for limitations of calling conventions to prevent
|
||||
tail calls to functions outside the current unit of translation, or
|
||||
during PIC compilation. Use this macro to enforce these restrictions,
|
||||
as the @code{sibcall} md pattern can not fail, or fall over to a
|
||||
``normal'' call.
|
||||
@end table
|
||||
|
||||
@node Varargs
|
||||
@section Implementing the Varargs Macros
|
||||
@cindex varargs implementation
|
||||
|
Loading…
Reference in New Issue
Block a user