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::
|
* Function Entry::
|
||||||
* Profiling::
|
* Profiling::
|
||||||
* Inlining::
|
* Inlining::
|
||||||
|
* Tail Calling::
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@node Frame Layout
|
@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 non-zero if the function can be inlined, otherwise it should
|
||||||
return 0.
|
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
|
@node Varargs
|
||||||
@section Implementing the Varargs Macros
|
@section Implementing the Varargs Macros
|
||||||
@cindex varargs implementation
|
@cindex varargs implementation
|
||||||
|
Loading…
Reference in New Issue
Block a user