aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@gcc.gnu.org>2000-05-29 23:12:37 -0700
committerRichard Henderson <rth@gcc.gnu.org>2000-05-29 23:12:37 -0700
commit4cb1433cadcd39f7ccaded711cd87601e869f1e8 (patch)
tree82709ff76cc521f6cbf6a39e3c3efebf1cfffa8a /gcc
parent37dbf7aa9c7ecd0d04c5caf229023d9e4d911129 (diff)
downloadgcc-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.texi19
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