diff options
author | Richard Henderson <rth@gcc.gnu.org> | 2000-05-29 23:12:37 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2000-05-29 23:12:37 -0700 |
commit | 4cb1433cadcd39f7ccaded711cd87601e869f1e8 (patch) | |
tree | 82709ff76cc521f6cbf6a39e3c3efebf1cfffa8a /gcc | |
parent | 37dbf7aa9c7ecd0d04c5caf229023d9e4d911129 (diff) | |
download | gcc-4cb1433cadcd39f7ccaded711cd87601e869f1e8.zip gcc-4cb1433cadcd39f7ccaded711cd87601e869f1e8.tar.gz gcc-4cb1433cadcd39f7ccaded711cd87601e869f1e8.tar.bz2 |
Document FUNCTION_OK_FOR_SIBCALL.
From-SVN: r34261
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/tm.texi | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc/tm.texi b/gcc/tm.texi index 3b3f4b0..b5afde4 100644 --- a/gcc/tm.texi +++ b/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 |