aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSiddhesh Poyarekar <siddhesh@gotplt.org>2022-12-15 11:45:17 -0500
committerSiddhesh Poyarekar <siddhesh@gotplt.org>2022-12-15 12:52:42 -0500
commitf5300d28bfa18485cfe7aca15eb5e8c193376ba0 (patch)
treebcb4e4a4ac7cea8d5eda7278a15a0088de829f25
parent7283380a5829150cc820ab3b25c4d91cad372eec (diff)
downloadgcc-f5300d28bfa18485cfe7aca15eb5e8c193376ba0.zip
gcc-f5300d28bfa18485cfe7aca15eb5e8c193376ba0.tar.gz
gcc-f5300d28bfa18485cfe7aca15eb5e8c193376ba0.tar.bz2
doc: Fix documentation for __builtin_dynamic_object_size
__builtin_dynamic_object_size is missing from the full list of builtins, so add it. Also mention it alongside __builtin_object_size in the passes description. gcc/ChangeLog: * doc/extend.texi (__builtin_dynamic_object_size): Document builtin. * doc/passes.texi (Optimize calls to @code{__builtin_object_size}): Also mention __builtin_dynamic_object_size. Signed-off-by: Siddhesh Poyarekar <siddhesh@gotplt.org>
-rw-r--r--gcc/doc/extend.texi10
-rw-r--r--gcc/doc/passes.texi15
2 files changed, 17 insertions, 8 deletions
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index d3812fa..608ff54 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -14291,8 +14291,14 @@ and GCC does not issue a warning.
@end deftypefn
@deftypefn {Built-in Function}{size_t} __builtin_object_size (const void * @var{ptr}, int @var{type})
-Returns the size of an object pointed to by @var{ptr}. @xref{Object Size
-Checking}, for a detailed description of the function.
+Returns a constant size estimate of an object pointed to by @var{ptr}.
+@xref{Object Size Checking}, for a detailed description of the function.
+@end deftypefn
+
+@deftypefn {Built-in Function}{size_t} __builtin_dynamic_object_size (const void * @var{ptr}, int @var{type})
+Similar to @code{__builtin_object_size} except that the return value
+need not be a constant. @xref{Object Size Checking}, for a detailed
+description of the function.
@end deftypefn
@deftypefn {Built-in Function} double __builtin_huge_val (void)
diff --git a/gcc/doc/passes.texi b/gcc/doc/passes.texi
index 9e8b4f5..a248c5d 100644
--- a/gcc/doc/passes.texi
+++ b/gcc/doc/passes.texi
@@ -843,12 +843,15 @@ foo()}, this pass tries to change the call so that the address of
pass is located in @code{tree-nrv.cc} and is described by
@code{pass_return_slot}.
-@item Optimize calls to @code{__builtin_object_size}
-
-This is a propagation pass similar to CCP that tries to remove calls
-to @code{__builtin_object_size} when the size of the object can be
-computed at compile-time. This pass is located in
-@file{tree-object-size.cc} and is described by
+@item Optimize calls to @code{__builtin_object_size} or
+@code{__builtin_dynamic_object_size}
+
+This is a propagation pass similar to CCP that tries to remove calls to
+@code{__builtin_object_size} when the upper or lower bound for the size
+of the object can be computed at compile-time. It also tries to replace
+calls to @code{__builtin_dynamic_object_size} with an expression that
+evaluates the upper or lower bound for the size of the object. This
+pass is located in @file{tree-object-size.cc} and is described by
@code{pass_object_sizes}.
@item Loop invariant motion