diff options
Diffstat (limited to 'gcc/doc/tm.texi')
-rw-r--r-- | gcc/doc/tm.texi | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index 665c5b1edd6..dbf6c20b8dd 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -9929,6 +9929,14 @@ changed via the optimize attribute or pragma, see @code{TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE} @end deftypefn +@deftypefn {Target Hook} bool TARGET_OPTION_FUNCTION_VERSIONS (tree @var{decl1}, tree @var{decl2}) +This target hook returns @code{true} if @var{DECL1} and @var{DECL2} are +versions of the same function. @var{DECL1} and @var{DECL2} are function +versions if and only if they have the same function signature and +different target specific attributes, that is, they are compiled for +different target machines. +@end deftypefn + @deftypefn {Target Hook} bool TARGET_CAN_INLINE_P (tree @var{caller}, tree @var{callee}) This target hook returns @code{false} if the @var{caller} function cannot inline @var{callee}, based on target specific information. By @@ -10952,6 +10960,29 @@ The result is another tree containing a simplified expression for the call's result. If @var{ignore} is true the value will be ignored. @end deftypefn +@deftypefn {Target Hook} int TARGET_COMPARE_VERSION_PRIORITY (tree @var{decl1}, tree @var{decl2}) +This hook is used to compare the target attributes in two functions to +determine which function's features get higher priority. This is used +during function multi-versioning to figure out the order in which two +versions must be dispatched. A function version with a higher priority +is checked for dispatching earlier. @var{decl1} and @var{decl2} are + the two function decls that will be compared. +@end deftypefn + +@deftypefn {Target Hook} tree TARGET_GET_FUNCTION_VERSIONS_DISPATCHER (void *@var{decl}) +This hook is used to get the dispatcher function for a set of function +versions. The dispatcher function is called to invoke the right function +version at run-time. @var{decl} is one version from a set of semantically +identical versions. +@end deftypefn + +@deftypefn {Target Hook} tree TARGET_GENERATE_VERSION_DISPATCHER_BODY (void *@var{arg}) +This hook is used to generate the dispatcher logic to invoke the right +function version at run-time for a given set of function versions. +@var{arg} points to the callgraph node of the dispatcher function whose +body must be generated. +@end deftypefn + @deftypefn {Target Hook} {const char *} TARGET_INVALID_WITHIN_DOLOOP (const_rtx @var{insn}) Take an instruction in @var{insn} and return NULL if it is valid within a |