gcc: docs: Fix documentation of two hooks
The `function_attribute_inlinable_p` hook documentation described it
returning the value if it is OK to inline the provided fndecl into "the
current function". AFAICS This hook is only called when
`current_function_decl` is the same as the `fndecl` argument that the
hook is given, hence asking whether `fndecl` can be inlined into "the
current function" doesn't seem relevant. Moreover from what I see no
existing implementation of `function_attribute_inlinable_p` uses "the
current function" in any way.
Update the documentation to match this understanding.
The `unspec_may_trap_p` documentation mentioned applying to either
`unspec` or `unspec_volatile`. AFAICS this hook is only used for
`unspec` codes since c84a808e49
, so I removed the mention of
`unspec_volatile`.
gcc/ChangeLog:
* doc/tm.texi: Regenerated.
* target.def (function_attribute_inlinable_p,
unspec_may_trap_p): Update documentation.
This commit is contained in:
parent
9bd51351c1
commit
fef7b8ce90
2 changed files with 16 additions and 20 deletions
|
@ -10752,10 +10752,10 @@ attribute handlers. So far this only affects the @var{noinit} and
|
|||
|
||||
@deftypefn {Target Hook} bool TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P (const_tree @var{fndecl})
|
||||
@cindex inlining
|
||||
This target hook returns @code{true} if it is OK to inline @var{fndecl}
|
||||
into the current function, despite its having target-specific
|
||||
attributes, @code{false} otherwise. By default, if a function has a
|
||||
target specific attribute attached to it, it will not be inlined.
|
||||
This target hook returns @code{false} if the target-specific attributes on
|
||||
@var{fndecl} always block it getting inlined, @code{true} otherwise. By
|
||||
default, if a function has a target specific attribute attached to it, it
|
||||
will not be inlined.
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Target Hook} bool TARGET_OPTION_VALID_ATTRIBUTE_P (tree @var{fndecl}, tree @var{name}, tree @var{args}, int @var{flags})
|
||||
|
@ -12253,12 +12253,10 @@ allocation.
|
|||
@end deftypefn
|
||||
|
||||
@deftypefn {Target Hook} int TARGET_UNSPEC_MAY_TRAP_P (const_rtx @var{x}, unsigned @var{flags})
|
||||
This target hook returns nonzero if @var{x}, an @code{unspec} or
|
||||
@code{unspec_volatile} operation, might cause a trap. Targets can use
|
||||
this hook to enhance precision of analysis for @code{unspec} and
|
||||
@code{unspec_volatile} operations. You may call @code{may_trap_p_1}
|
||||
to analyze inner elements of @var{x} in which case @var{flags} should be
|
||||
passed along.
|
||||
This target hook returns nonzero if @var{x}, an @code{unspec} might cause
|
||||
a trap. Targets can use this hook to enhance precision of analysis for
|
||||
@code{unspec} operations. You may call @code{may_trap_p_1} to analyze inner
|
||||
elements of @var{x} in which case @var{flags} should be passed along.
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {Target Hook} void TARGET_SET_CURRENT_FUNCTION (tree @var{decl})
|
||||
|
|
|
@ -2314,10 +2314,10 @@ attribute handlers. So far this only affects the @var{noinit} and\n\
|
|||
DEFHOOK
|
||||
(function_attribute_inlinable_p,
|
||||
"@cindex inlining\n\
|
||||
This target hook returns @code{true} if it is OK to inline @var{fndecl}\n\
|
||||
into the current function, despite its having target-specific\n\
|
||||
attributes, @code{false} otherwise. By default, if a function has a\n\
|
||||
target specific attribute attached to it, it will not be inlined.",
|
||||
This target hook returns @code{false} if the target-specific attributes on\n\
|
||||
@var{fndecl} always block it getting inlined, @code{true} otherwise. By\n\
|
||||
default, if a function has a target specific attribute attached to it, it\n\
|
||||
will not be inlined.",
|
||||
bool, (const_tree fndecl),
|
||||
hook_bool_const_tree_false)
|
||||
|
||||
|
@ -4067,12 +4067,10 @@ allocation.",
|
|||
FLAGS has the same meaning as in rtlanal.cc: may_trap_p_1. */
|
||||
DEFHOOK
|
||||
(unspec_may_trap_p,
|
||||
"This target hook returns nonzero if @var{x}, an @code{unspec} or\n\
|
||||
@code{unspec_volatile} operation, might cause a trap. Targets can use\n\
|
||||
this hook to enhance precision of analysis for @code{unspec} and\n\
|
||||
@code{unspec_volatile} operations. You may call @code{may_trap_p_1}\n\
|
||||
to analyze inner elements of @var{x} in which case @var{flags} should be\n\
|
||||
passed along.",
|
||||
"This target hook returns nonzero if @var{x}, an @code{unspec} might cause\n\
|
||||
a trap. Targets can use this hook to enhance precision of analysis for\n\
|
||||
@code{unspec} operations. You may call @code{may_trap_p_1} to analyze inner\n\
|
||||
elements of @var{x} in which case @var{flags} should be passed along.",
|
||||
int, (const_rtx x, unsigned flags),
|
||||
default_unspec_may_trap_p)
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue