diff options
author | Siddhesh Poyarekar <siddhesh@gotplt.org> | 2022-12-15 11:45:17 -0500 |
---|---|---|
committer | Siddhesh Poyarekar <siddhesh@gotplt.org> | 2022-12-15 12:52:42 -0500 |
commit | f5300d28bfa18485cfe7aca15eb5e8c193376ba0 (patch) | |
tree | bcb4e4a4ac7cea8d5eda7278a15a0088de829f25 | |
parent | 7283380a5829150cc820ab3b25c4d91cad372eec (diff) | |
download | gcc-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.texi | 10 | ||||
-rw-r--r-- | gcc/doc/passes.texi | 15 |
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 |